@using AyCode.Utils.Extensions @using FruitBank.Common.Dtos @using FruitBank.Common.Entities @using FruitBank.Common.Models @using FruitBankHybrid.Shared.Components.Toolbars @using FruitBankHybrid.Shared.Databases @using FruitBankHybrid.Shared.Services.SignalRs @inject LoggedInModel LoggedInModel; @inject FruitBankSignalRClient FruitBankSignalRClient @if (IsMasterGrid) { } @code { MgGridBase gridOrderItemPallet; [Parameter] public bool IsMasterGrid { get; set; } = false; [Parameter] public List? OrderItemPallets { get; set; } string GridCss => !IsMasterGrid ? "hide-toolbar" : string.Empty; protected override async Task OnInitializedAsync() { await ReloadDataFromDb(false); } public async Task ReloadDataFromDb(bool forceReload) { if (!IsMasterGrid) return; LoadingPanelVisibility.Visible = true; using (await ObjectLock.GetSemaphore().UseWaitAsync()) { if (OrderItemPallets == null) OrderItemPallets = await FruitBankSignalRClient.GetAllOrderItemPallets() ?? []; else if (OrderItemPallets.Count == 0 || forceReload) { OrderItemPallets.Clear(); OrderItemPallets.AddRange(await FruitBankSignalRClient.GetAllOrderItemPallets() ?? []); } } if (OrderItemPallets != null && OrderItemPallets.Any(oip => oip.OrderItemDto?.ProductDto != null)) { gridOrderItemPallet.BeginUpdate(); gridOrderItemPallet.GetColumns().FirstOrDefault(x => x.Name == "ProductId")!.Visible = true; gridOrderItemPallet.GetColumns().FirstOrDefault(x => x.Name == "ProductName")!.Visible = true; gridOrderItemPallet.EndUpdate(); } if (forceReload) gridOrderItemPallet?.Reload(); LoadingPanelVisibility.Visible = false; } protected override Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { // if (OrderItemPallets != null && OrderItemPallets.Any(oip => oip.OrderItemDto?.ProductDto != null)) // { // gridOrderItemPallet.BeginUpdate(); // gridOrderItemPallet.GetColumns().FirstOrDefault(x => x.Name == "ProductId")!.Visible = true; // gridOrderItemPallet.GetColumns().FirstOrDefault(x => x.Name == "ProductName")!.Visible = true; // gridOrderItemPallet.EndUpdate(); // } } return base.OnAfterRenderAsync(firstRender); } } @* List GenericAttributes { get; set; } List OrderItemPallets { get; set; } OrderDto OrderDto { get; set; } bool IsMeasured bool IsMeasurable int TrayQuantity double NetWeight double GrossWeight public Guid OrderItemGuid { get; set; } public int OrderId { get; set; } public int ProductId { get; set; } public int Quantity { get; set; } public decimal UnitPriceInclTax { get; set; } public decimal UnitPriceExclTax { get; set; } public decimal PriceInclTax { get; set; } public decimal PriceExclTax { get; set; } public string AttributesXml { get; set; } public decimal? ItemWeight { get; set; } public string ProductName => ProductDto?.Name ?? "ProductDto is null!!!"; public TProductDto? ProductDto { get; set; } *@