Files
lux/EgwCoreLib.Lux.Data/Repository/Supplier/ISupplierRepository.cs
T
2026-04-14 12:25:10 +02:00

51 lines
1.7 KiB
C#

namespace EgwCoreLib.Lux.Data.Repository.Supplier
{
public interface ISupplierRepository : IBaseRepository
{
#region Public Methods
/// <summary>
/// Inserisce un nuovo record Supplier nel database.
/// </summary>
/// <param name="entity">Record da inserire</param>
Task<bool> AddAsync(SupplierModel entity);
/// <summary>
/// Elimina un record Supplier dal database.
/// </summary>
/// <param name="entity">Record da eliminare</param>
Task<bool> DeleteAsync(SupplierModel entity);
/// <summary>
/// Elenco completo supplier
/// </summary>
/// <returns></returns>
Task<List<SupplierModel>> GetAllAsync();
/// <summary>
/// Recupera un record Supplier specifico per ID.
/// </summary>
/// <param name="recId">ID dell'Supplier da recuperare</param>
Task<SupplierModel?> GetByIdAsync(int recId);
/// <summary>
/// Recupera gli Supplier filtrati per gruppo e tipo classe.
/// </summary>
/// <param name="codGroup">Codice del gruppo filtro (vuoto = tutti)</param>
Task<List<SupplierModel>> GetFiltAsync(string codGroup);
/// <summary>
/// Recupera gli Supplier filtrati per più gruppi e tipo classe.
/// </summary>
/// <param name="codGroups">Elenco Codici dei gruppi</param>
Task<List<SupplierModel>> GetFiltAsync(List<string> codGroups);
/// <summary>
/// Aggiorna un record Supplier esistente nel database.
/// </summary>
/// <param name="entity">Record aggiornato</param>
Task<bool> UpdateAsync(SupplierModel entity);
#endregion Public Methods
}
}