using AyCode.Core.Loggers; using DevExpress.Blazor; using FruitBank.Common.Dtos; using FruitBank.Common.Models; using FruitBankHybrid.Shared.Services.Loggers; using FruitBankHybrid.Shared.Services.SignalRs; using Mango.Nop.Core.Loggers; using Microsoft.AspNetCore.Components; namespace FruitBankHybrid.Shared.Pages; public partial class OrdersAdmin : ComponentBase { [Inject] public required IEnumerable LogWriters { get; set; } [Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; } [Inject] public required NavigationManager NavManager { get; set; } [Inject] private IDialogService DialogService { get; set; } = null!; [Inject] public required LoggedInModel LoggedInModel { get; set; } public IGrid gridOrder; private List? ProductDtos { get; set; } = null!; private List? OrderDtos { get; set; } = null!; private List? OrderItemDtos { get; set; } = null!; public bool AutoCollapseDetailRow { get; set; } public bool LoadingPanelVisible { get; set; } = true; private ILogger _logger = null!; public int ActiveTabIndex; protected override async Task OnInitializedAsync() { if (!LoggedInModel.IsRevisor) NavManager.NavigateTo("/Login"); LoadingPanelVisible = true; _logger = new LoggerClient(LogWriters.ToArray()); _logger.Info("OnInitializedAsync"); await RefreshOrdersFromDb(DateTime.Now); await base.OnInitializedAsync(); } private async Task RefreshOrdersFromDb(DateTime dateTime) { LoadingPanelVisible = true; OrderDtos = (await FruitBankSignalRClient.GetAllOrderDtos() ?? []).OrderByDescending(o=>o.Id).ToList();//.Where(o => o.HasMeasuringAccess(LoggedInModel.CustomerDto?.Id, LoggedInModel.IsRevisor)).OrderBy(o => o.DateOfReceipt).ToList(); LoadingPanelVisible = false; } protected async Task OnActiveTabChanged(int activeTabIndex) { ActiveTabIndex = activeTabIndex; LoadingPanelVisible = true; switch (ActiveTabIndex) { case 0: ProductDtos ??= (await FruitBankSignalRClient.GetProductDtos() ?? []); //.Where(o => o.HasMeasuringAccess(LoggedInModel.CustomerDto?.Id, LoggedInModel.IsRevisor)).OrderBy(o => o.DateOfReceipt).ToList(); break; case 1: OrderDtos ??= (await FruitBankSignalRClient.GetAllOrderDtos() ?? []).OrderByDescending(o => o.Id).ToList(); //.Where(o => o.HasMeasuringAccess(LoggedInModel.CustomerDto?.Id, LoggedInModel.IsRevisor)).OrderBy(o => o.DateOfReceipt).ToList(); break; case 2: OrderItemDtos ??= (await FruitBankSignalRClient.GetAllOrderItemDtos() ?? []).OrderByDescending(o => o.Id).ToList(); //.Where(o => o.HasMeasuringAccess(LoggedInModel.CustomerDto?.Id, LoggedInModel.IsRevisor)).OrderBy(o => o.DateOfReceipt).ToList(); break; } LoadingPanelVisible = false; } }