FruitBankHybridApp/FruitBankHybrid.Shared/Pages/Ekaer.razor.cs

63 lines
2.5 KiB
C#

using AyCode.Core.Loggers;
using FruitBank.Common.Entities;
using FruitBank.Common.Models;
using FruitBankHybrid.Shared.Components.Grids.Ekaers;
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 Ekaer : ComponentBase
{
[Inject] public required IEnumerable<IAcLogWriterClientBase> LogWriters { get; set; }
[Inject] public required NavigationManager NavManager { get; set; }
[Inject] public required LoggedInModel LoggedInModel { get; set; }
[Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; }
private GridEkaerHistory gridEkaerHistoryPending;
private GridEkaerHistory gridEkaerHistorySent;
private GridEkaerHistory gridEkaerHistoryNeedsCompletion;
private ILogger _logger = null!;
public int ActiveTabIndex;
/// <summary>Pótlásra váró (SentWithMissingData) rekordok száma a fül feliratához — hogy ránézésre látsszon, ha van pótolnivaló.</summary>
private int _needsCompletionCount;
public string NeedsCompletionTabText => _needsCompletionCount > 0 ? $"Pótlásra váró ({_needsCompletionCount})" : "Pótlásra váró";
protected override async Task OnInitializedAsync()
{
if (!LoggedInModel.IsRevisor) NavManager.NavigateTo("/Login");
_logger = new LoggerClient<Ekaer>(LogWriters.ToArray());
_logger.Info("OnInitializedAsync");
await base.OnInitializedAsync();
await RefreshNeedsCompletionCountAsync();
}
protected async Task OnActiveTabChanged(int activeTabIndex)
{
ActiveTabIndex = activeTabIndex;
// Fülváltáskor frissítjük a számlálót — a gridben végzett művelet (generálás/státusz-állítás) megváltoztathatta.
await RefreshNeedsCompletionCountAsync();
}
/// <summary>A „Pótlásra váró" rekordok számának frissítése a fül feliratához (a count endpointról, flag-szűrővel).</summary>
private async Task RefreshNeedsCompletionCountAsync()
{
try
{
//_needsCompletionCount = await FruitBankSignalRClient.GetEkaerHistoryCount(EkaerHistoryFilter.NeedsCompletion);
_needsCompletionCount = await FruitBankSignalRClient.GetEkaerHistoryCount(EkaerHistoryFilter.ToSubmit);
StateHasChanged();
}
catch (Exception ex)
{
_logger.Error($"GetEkaerHistoryCount hiba: {ex.Message}");
}
}
}