Files
lux/EgwCoreLib.Lux.Data/Repository/Utils/IGenValRepository.cs
T
2026-03-25 17:25:00 +01:00

52 lines
2.2 KiB
C#

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