@using AyCode.Utils.Extensions @using FruitBank.Common.Dtos @using FruitBank.Common.Entities @using FruitBankHybrid.Shared.Databases @using FruitBankHybrid.Shared.Services.SignalRs @inject FruitBankSignalRClient FruitBankSignalRClient @code { public MgGridBase gridOrderItemPallet; [Inject] public required DatabaseClient Database { get; set; } //[Inject] public required ObjectLock ObjectLock{ get; set; } [Parameter] public bool IsMasterGrid { get; set; } = false; [Parameter] public List? ShippingItemPallets { get; set; } protected override async Task OnInitializedAsync() { await ReloadDataFromDb(false); } private async Task ReloadDataFromDb(bool forceReload = false) { if (!IsMasterGrid) return; using (await ObjectLock.GetSemaphore().UseWaitAsync()) { ShippingItemPallets ??= []; if (ShippingItemPallets.Count == 0 || forceReload) { ShippingItemPallets.Clear(); //TODO: A ShippingItemPallet-eknek SignalR Endpoint! - J. ShippingItemPallets.AddRange(await FruitBankSignalRClient.GetShippingItemPallets() ?? []); if (ShippingItemPallets.Any(sip => sip.ShippingItem?.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(); } 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; } *@