@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)
{
@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;
}
}