namespace EgwCoreLib.Lux.Data.Repository.Sales
{
///
/// Interfaccia per la gestione dei clienti.
///
public interface ICustomerRepository
{
#region Public Methods
///
/// Inserisce un nuovo record Customer nel database.
///
/// Record da inserire
Task AddAsync(CustomerModel entity);
///
/// Conta il numero di righe child (ordini, offerte) associate a un Customer specifico.
///
/// ID del Template
Task CountChildrenAsync(int CustomerID);
///
/// Elimina un record Customer dal database.
///
/// Record da eliminare
Task DeleteAsync(CustomerModel entity);
///
/// Recupera l'elenco di tutti i clienti.
///
/// L'elenco di tutti i clienti.
Task> GetAllAsync();
///
/// Recupera un Customer specifico per ID.
///
/// ID del Customer da recuperare
Task GetByIdAsync(int CustomerID);
///
/// Aggiorna un record Template esistente nel database.
///
/// Record aggiornato
Task UpdateAsync(CustomerModel entity);
#endregion Public Methods
}
}