Files
mapo-core/MP.SPEC/Components/SelArticolo.razor.cs
T
2026-05-28 18:59:54 +02:00

79 lines
2.0 KiB
C#

using Microsoft.AspNetCore.Components;
using MP.Data.DbModels;
using MP.SPEC.Data;
namespace MP.SPEC.Components
{
public partial class SelArticolo
{
#region Public Properties
[Parameter]
public string SearchVal { get; set; } = "";
[Parameter]
public string SelAzienda { get; set; } = "*";
[Parameter]
public string Value { get; set; } = null!;
[Parameter]
public EventCallback<string> ValueChanged { get; set; }
#endregion Public Properties
#region Protected Properties
[Inject]
protected MpDataService MDService { get; set; } = null!;
#endregion Protected Properties
#region Protected Methods
protected override async Task OnInitializedAsync()
{
await CaricaArticoli();
}
protected override async Task OnParametersSetAsync()
{
if (SearchVal != _oldSearchVal || SelAzienda != _oldSelAzienda)
{
_oldSearchVal = SearchVal;
_oldSelAzienda = SelAzienda;
await CaricaArticoli();
}
}
#endregion Protected Methods
#region Private Fields
// Variabili di appoggio per tracciare il cambio dei filtri
private string _oldSearchVal = string.Empty;
private string _oldSelAzienda = string.Empty;
private List<AnagArticoliModel>? ListArticoli;
private int maxNum = 100;
#endregion Private Fields
#region Private Methods
private async Task CaricaArticoli()
{
ListArticoli = await MDService.ArticoliGetSearchAsync(maxNum, "*", SelAzienda, SearchVal);
}
private async Task OnSelectionChanged(ChangeEventArgs e)
{
Value = e.Value?.ToString();
// Notifica il componente padre della variazione
await ValueChanged.InvokeAsync(Value);
}
#endregion Private Methods
}
}