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 } }