@using AyCode.Utils.Extensions @using FruitBank.Common.Dtos @using FruitBank.Common.Entities @using FruitBank.Common.Models @using FruitBankHybrid.Shared.Databases @using FruitBankHybrid.Shared.Services.SignalRs @using Mango.Nop.Core.Entities @* CaptionCssClass="@(SelectedProductDto?.IsMeasured == true ? "text-success" : "")"> *@ @* TextFieldName="StockTakingItem.Product.Name" *@ @code { [Inject] public required DatabaseClient Database { get; set; } [Inject] public required LoggedInModel LoggedInModel { get; set; } [Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; } List _stockTakings { get; set; } = []; List _stockTakingItems { get; set; } = []; List _stockTakingItemPallets { get; set; } = []; StockTaking? SelectedStockTaking { get; set; } StockTakingItem? SelectedStockTakingItem { get; set; } protected override async Task OnInitializedAsync() { await ReloadDataFromDb(false); } public async Task ReloadDataFromDb(bool forceReload) { LoadingPanelVisibility.Visible = true; _stockTakings = await FruitBankSignalRClient.GetStockTakings() ?? []; ValueChanged(_stockTakings.FirstOrDefault()); LoadingPanelVisibility.Visible = false; } private async Task Callback() { var stockTaking = new StockTaking(); stockTaking.StartDateTime = DateTime.Now; stockTaking.Creator = LoggedInModel.CustomerDto!.Id; var resultStockTaking = await FruitBankSignalRClient.AddStockTaking(stockTaking); if (resultStockTaking == null) return; _stockTakings.Add(resultStockTaking); StateHasChanged(); } private async Task Callback2() { // var resultStockTaking = await FruitBankSignalRClient.AddStockTaking(stockTaking); // if (resultStockTaking == null) return; // _stockTakings.Add(resultStockTaking); StateHasChanged(); } private async Task Callback3() { // var resultStockTaking = await FruitBankSignalRClient.AddStockTaking(stockTaking); // if (resultStockTaking == null) return; // _stockTakings.Add(resultStockTaking); StateHasChanged(); } private void ValueChanged(StockTaking? newValue) { SelectedStockTaking = newValue; _stockTakingItems = SelectedStockTaking?.StockTakingItems?.OrderByDescending(x => x.IsMeasured).ThenByDescending(x => x.OriginalStockQuantity != 0 || x.OriginalNetWeight != 0).ThenBy(x => x.Product?.Name).ToList() ?? []; SelectedStockTakingItem = _stockTakingItems.FirstOrDefault(); } }