71 lines
2.9 KiB
C#
71 lines
2.9 KiB
C#
using AyCode.Core.Loggers;
|
|
using FruitBank.Common.Entities;
|
|
using FruitBank.Common.Models;
|
|
using FruitBankHybrid.Shared.Components.Grids.Ekaers;
|
|
using FruitBankHybrid.Shared.Databases;
|
|
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 grid jelzi a hosszú művelet (sorok létrehozása) elejét (true) / végét (false) → az oldal Loading panelje meg/elrejtve.</summary>
|
|
private Task OnGridBusyChanged(bool busy)
|
|
{
|
|
LoadingPanelVisibility.Visible = busy;
|
|
return InvokeAsync(StateHasChanged);
|
|
}
|
|
|
|
/// <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}");
|
|
}
|
|
}
|
|
}
|