@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 @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(); } }