namespace EgwCoreLib.Lux.Data.Repository.Utils
{
///
/// Interfaccia per la gestione dei valori generici.
///
public interface IGenValRepository : IBaseRepository
{
///
/// Inserisce un nuovo valore generico nel database.
///
/// Il valore da inserire.
/// True se l'inserimento ha successo, false altrimenti.
Task AddAsync(GenValueModel entity);
///
/// Elimina un valore generico dal database e adegua gli indici successivi.
///
/// Il valore da eliminare.
/// True se l'eliminazione ha successo, false altrimenti.
Task DeleteAsync(GenValueModel entity);
///
/// Recupera un valore generico per il suo identificatore.
///
/// L'identificatore del valore.
/// Il valore corrispondente, o null se non esiste.
Task GetByIdAsync(int Id);
///
/// Recupera l'elenco dei valori generici per una classe specifica.
///
/// Il codice della classe.
/// L'elenco dei valori associati alla classe.
Task> GetFiltAsync(string codClass);
///
/// Sposta su o giù un valore generico all'interno della sua classe.
///
/// Il valore da spostare.
/// Se true, sposta il valore verso l'alto; altrimenti verso il basso.
/// True se lo spostamento ha successo, false altrimenti.
Task MoveAsync(GenValueModel selRec, bool moveUp);
///
/// Aggiorna un valore generico esistente nel database.
///
/// Il valore aggiornato.
/// True se l'aggiornamento ha successo, false altrimenti.
Task UpdateAsync(GenValueModel entity);
}
}