Files
mapo-core/MP.SPEC/Pages/Operatori.razor.cs
T
Samuele Locatelli bbdf6b4012 SPEC:
- aggiunta ricerca x operatori
2026-06-04 09:52:12 +02:00

85 lines
2.3 KiB
C#

using Microsoft.AspNetCore.Components;
using MP.Core.DTO;
using MP.Data.DbModels;
using MP.SPEC.Data;
namespace MP.SPEC.Pages
{
public partial class Operatori
{
#region Protected Properties
[Inject]
protected MpDataService MDService { get; set; } = null!;
#endregion Protected Properties
#region Protected Methods
protected override async Task OnInitializedAsync()
{
await ReloadDataAsync();
}
#endregion Protected Methods
#region Private Fields
private bool isLoading = false;
private List<RepartiDTO> ListGruppi = new();
private List<AnagOperatoriModel> ListOperatori = new();
private string SearchVal = "";
private AnagOperatoriModel? SelRec = null;
#endregion Private Fields
#region Private Properties
private string btnSearchCss => string.IsNullOrWhiteSpace(SearchVal) ? "btn-secondary" : "btn-primary";
private string cssMain => SelRec == null ? "col-12" : "col-6";
private bool ShowDetail => SelRec != null;
#endregion Private Properties
#region Private Methods
private async Task DoReset()
{
SearchVal = "";
await ReloadDataAsync();
}
private async Task DoSelect(AnagOperatoriModel? newRec)
{
SelRec = newRec;
if (SelRec == null)
{
ListGruppi.Clear();
}
else
{
// recupero gruppi operatore
ListGruppi = await MDService.GruppiRepartoDtoByOperAsync(SelRec.MatrOpr);
}
}
private async Task ReloadDataAsync()
{
isLoading = true;
var rawList = await MDService.OperatoriGetFiltAsync("*");
if (string.IsNullOrEmpty(SearchVal))
{
ListOperatori = rawList;
}
else
{
ListOperatori = rawList
.Where(x => x.Cognome.Contains(SearchVal, StringComparison.InvariantCultureIgnoreCase) || x.Nome.Contains(SearchVal, StringComparison.InvariantCultureIgnoreCase)).ToList();
}
isLoading = false;
}
#endregion Private Methods
}
}