79 lines
2.0 KiB
C#
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
|
|
}
|
|
} |