namespace EgwCoreLib.Lux.Data.Repository.Utils
{
///
/// Interfaccia per la gestione delle classi generiche.
///
public interface IGenClassRepository : IBaseRepository
{
///
/// Inserisce una nuova classe generica nel database.
///
/// La classe da inserire.
/// True se l'inserimento ha successo, false altrimenti.
Task AddAsync(GenClassModel entity);
///
/// Conta i valori associati a una classe generica.
///
/// Il codice della classe.
/// Il numero di valori associati alla classe.
Task CountChildrenAsync(string classCod);
///
/// Elimina una classe generica dal database.
///
/// La classe da eliminare.
/// True se l'eliminazione ha successo, false altrimenti.
Task DeleteAsync(GenClassModel entity);
///
/// Recupera l'elenco di tutte le classi generiche con i valori associati.
///
/// L'elenco di tutte le classi generiche.
Task> GetAllAsync();
///
/// Recupera una classe generica per il suo codice.
///
/// Il codice della classe.
/// La classe corrispondente, o null se non esiste.
Task GetByCodeAsync(string code);
///
/// Aggiorna una classe generica esistente nel database.
///
/// La classe aggiornata.
/// True se l'aggiornamento ha successo, false altrimenti.
Task UpdateAsync(GenClassModel entity);
}
}