@page "/"
@using Drab.LocalDb
@using Drab.LocalDb.Entities
@using Drab.Logic.Services
@using Drab.Ui.Components
@using Microsoft.EntityFrameworkCore
@using Radzen
@inject LocalDbContext LocalDbContext
@inject DialogService DialogService
@inject OrderEventBus EventBus
@implements IDisposable
@if (order.IsPrinted)
{
}
else
{
}
@code {
List _orders;
private RadzenDataGrid? _dataGridRef;
protected override void OnInitialized()
{
EventBus.OrdersChanged += OnOrdersChanged;
_orders = LocalDbContext.Orders.AsNoTracking().ToList();
}
private async Task RowClick(DataGridRowMouseEventArgs obj)
{
await DialogService.OpenAsync($"Zamówienie {obj.Data.OrderNumber} - Sklep {obj.Data.Shop}",
new Dictionary {{nameof(PdfViewer.Filename), obj.Data.Filename}},
new DialogOptions
{
CloseDialogOnEsc = true,
CloseDialogOnOverlayClick = true,
Resizable = false,
Draggable = false,
Width = "80%",
Height = "90vh"
});
}
private void OnOrdersChanged()
{
InvokeAsync(() =>
{
_orders = LocalDbContext.Orders.AsNoTracking().ToList();
_dataGridRef?.RefreshDataAsync();
StateHasChanged();
return Task.CompletedTask;
});
}
public void Dispose()
{
EventBus.OrdersChanged -= OnOrdersChanged;
LocalDbContext?.Dispose();
DialogService?.Dispose();
}
}