@page "/ispezione" @using SteUp.Shared.Components.Layout @using SteUp.Shared.Components.SingleElements.Card @using SteUp.Shared.Core.Dto @using SteUp.Shared.Core.Entities @using SteUp.Shared.Core.Interface.LocalDb @using SteUp.Shared.Core.Messages.Scheda @inject NewSchedaService NewScheda @inject IIspezioniService IspezioniService @implements IDisposable
@if (!SchedeGrouped.IsNullOrEmpty()) { @foreach (var group in SchedeGrouped) {
@group.Key.Descrizione @($"{group.Value.Count} sched{(group.Value.Count == 1 ? "a" : "e")}")
@foreach (var scheda in group.Value) { }
}
}
@code { private Dictionary> SchedeGrouped { get; set; } = []; protected override void OnInitialized() { NewScheda.OnNewScheda += LoadSchede; LoadSchede(); } private void LoadSchede() { var ispezione = SteupDataService.InspectionPageState.Ispezione; InvokeAsync(async () => { var schede = await IspezioniService.GetAllSchedeOfIspezioneAsync( ispezione.CodMdep, ispezione.Data, ispezione.Rilevatore ); SchedeGrouped = schede .Where(s => s.Reparto != null) .GroupBy(s => s.CodJfas) .ToDictionary( g => g.First().Reparto!, g => g.ToList() ); StateHasChanged(); }); } void IDisposable.Dispose() { NewScheda.OnNewScheda -= LoadSchede; } }