using EgwCoreLib.Lux.Data.DbModel.Sales;
using EgwCoreLib.Lux.Data.Services;
using Microsoft.AspNetCore.Components;
using System.Threading.Tasks;
namespace Lux.UI.Components.Compo
{
///
/// Componente per la gestione delle offerte.
///
public partial class OfferMan
{
#region Public Properties
///
/// Modello dell'offerta corrente (bindato dal genitore).
///
[Parameter]
public OfferModel CurrRecord { get; set; } = null!;
///
/// Callback invocato al chiusura della finestra (con valore true per cancellazione).
///
[Parameter]
public EventCallback EC_Close { get; set; }
///
/// Callback invocato al salvataggio con l'offerta aggiornata.
///
[Parameter]
public EventCallback EC_Updated { get; set; }
#endregion Public Properties
#region Protected Properties
///
/// Servizi di accesso ai dati iniettati dal framework.
///
[Inject]
protected DataLayerServices DLService { get; set; } = null!;
#endregion Protected Properties
#region Protected Methods
///
/// Chiamato automaticamente all'inizializzazione del componente.
///
protected override void OnInitialized()
{
ReloadData();
}
#endregion Protected Methods
#region Private Fields
///
/// Lista di tutti i clienti caricati.
///
private List CustomersList = new List();
private List DealersList = new List();
#endregion Private Fields
#region Private Methods
private Task DoCancel()
{
return EC_Close.InvokeAsync(true);
}
private Task DoSave()
{
// richiesta update con salvataggio record
return EC_Updated.InvokeAsync(CurrRecord);
}
private void ReloadData()
{
CustomersList = DLService.CustomersGetAll();
DealersList = DLService.DealersGetAll();
}
#endregion Private Methods
}
}