From eaa104659d00e6c24aff2957caaea29915db5dc2 Mon Sep 17 00:00:00 2001 From: Loretta Date: Tue, 6 Jan 2026 10:41:27 +0100 Subject: [PATCH] Set default ShippingDate, refactor data reload logic Set default ShippingDate to DateTime.Now in Shipping and ShippingDocument entities. Refactored data reload logic in GridDetailOrderDto.razor to use semaphore only for master grid and moved grid reload accordingly. Updated GridProductDtoTemplate.razor to load order data on tab change instead of detail row expansion. --- FruitBank.Common/Entities/Shipping.cs | 2 +- FruitBank.Common/Entities/ShippingDocument.cs | 2 +- .../Components/GridDetailOrderDto.razor | 21 +++++++++++-------- .../Components/GridProductDtoTemplate.razor | 16 +++++++------- 4 files changed, 22 insertions(+), 19 deletions(-) diff --git a/FruitBank.Common/Entities/Shipping.cs b/FruitBank.Common/Entities/Shipping.cs index c15aa77..704e893 100644 --- a/FruitBank.Common/Entities/Shipping.cs +++ b/FruitBank.Common/Entities/Shipping.cs @@ -8,7 +8,7 @@ namespace FruitBank.Common.Entities; [System.ComponentModel.DataAnnotations.Schema.Table(FruitBankConstClient.ShippingDbTableName)] public class Shipping : MgEntityBase, IShipping { - public DateTime ShippingDate { get; set; } + public DateTime ShippingDate { get; set; } = DateTime.Now; public string LicencePlate { get; set; } public bool IsAllMeasured { get; set; } diff --git a/FruitBank.Common/Entities/ShippingDocument.cs b/FruitBank.Common/Entities/ShippingDocument.cs index 4ca89b8..c3e256d 100644 --- a/FruitBank.Common/Entities/ShippingDocument.cs +++ b/FruitBank.Common/Entities/ShippingDocument.cs @@ -14,7 +14,7 @@ public class ShippingDocument : MgEntityBase, IShippingDocument public string DocumentIdNumber { get; set; } public string PdfFileName { get; set; } - public DateTime ShippingDate { get; set; } + public DateTime ShippingDate { get; set; } = DateTime.Now; public string Country { get; set; } public int TotalPallets { get; set; } diff --git a/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor b/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor index 4d47f21..5d222e9 100644 --- a/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor +++ b/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor @@ -107,19 +107,22 @@ private async Task ReloadDataFromDb(bool forceReload = false) { LoadingPanelVisibility.Visible = true; - using (await ObjectLock.GetSemaphore().UseWaitAsync()) + + if (IsMasterGrid) { - if (OrderDtos == null) OrderDtos = await FruitBankSignalRClient.GetAllOrderDtos() ?? []; - else if (OrderDtos.Count == 0 || forceReload) + using (await ObjectLock.GetSemaphore().UseWaitAsync()) { - OrderDtos.Clear(); - OrderDtos.AddRange(await FruitBankSignalRClient.GetAllOrderDtos() ?? []); + if (OrderDtos == null) OrderDtos = await FruitBankSignalRClient.GetAllOrderDtos() ?? []; + else if (OrderDtos.Count == 0 || forceReload) + { + OrderDtos.Clear(); + OrderDtos.AddRange(await FruitBankSignalRClient.GetAllOrderDtos() ?? []); + } } + + //if (forceReload) + Grid?.Reload(); } - - //if (forceReload) - Grid?.Reload(); - LoadingPanelVisibility.Visible = false; } diff --git a/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor b/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor index 1f9c506..e33e0ad 100644 --- a/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor +++ b/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor @@ -179,11 +179,11 @@ var productDto = (ProductDto)e.DataItem; - if (e.Grid.IsDetailRowExpanded(e.VisibleIndex)) - { - _currentOrderDtos = null; - _currentOrderDtos = productDto != null ? await GetOrderDtosFromDbAsync(productDto.Id) : []; - } + // if (e.Grid.IsDetailRowExpanded(e.VisibleIndex)) + // { + // _currentOrderDtos = null; + // _currentOrderDtos = productDto != null ? await GetOrderDtosFromDbAsync(productDto.Id) : []; + // } } protected async Task OnActiveTabChanged(int activeTabIndex, int productId) @@ -192,11 +192,11 @@ switch (_activeTabIndex) { - case 0: - //_currentOrderDtos = null; + case 1: + _currentOrderDtos = null; _currentOrderDtos = await GetOrderDtosFromDbAsync(productId); break; - case 1: + case 2: _currentOrderItemDtos = null; _currentOrderItemDtos = await GetOrderItemDtosFromDbAsync(productId); break;