Files
lux/EgwCoreLib.Lux.Data/Repository/Warehouse/IMatReqRepository.cs
T
2026-04-17 17:40:38 +02:00

61 lines
2.4 KiB
C#

namespace EgwCoreLib.Lux.Data.Repository.Warehouse
{
public interface IMatReqRepository : IBaseRepository
{
#region Public Methods
/// <summary>
/// Inserisce un nuovo record MatReq nel database.
/// </summary>
/// <param name="entity">Record da inserire</param>
Task<bool> AddAsync(MatReqModel entity);
/// <summary>
/// Inserisce una lista di record MatReq nel database.
/// </summary>
/// <param name="entity">Record da inserire</param>
Task<bool> AddManyAsync(List<MatReqModel> listEntity);
/// <summary>
/// Elimina un record MatReq dal database.
/// </summary>
/// <param name="entity">Record da eliminare</param>
Task<bool> DeleteAsync(MatReqModel entity);
/// <summary>
/// Elimina un set di record MatReq dato OrderRowId.
/// </summary>
/// <param name="orderRowId">ID dell'OrderRow relativo</param>
/// <param name="force">forza cancellazione anche per già ordinati</param>
Task<bool> DeleteByOrderRowAsync(int orderRowId, bool force = false);
/// <summary>
/// Recupera un record MatReq specifico per ID.
/// </summary>
/// <param name="recId">ID dell'MatReq da recuperare</param>
Task<MatReqModel?> GetByIdAsync(int recId);
/// <summary>
/// Recupera gli MatReq filtrati per uno o pù criteri
/// </summary>
/// <param name="orderID">ID dell'Ordine Cliente di riferimento</param>
/// <param name="orderRowID">ID della Riga Ordine Cliente di riferimento</param>
/// <param name="itemID">ID dell'item ordinato</param>
/// <param name="processed">true = solo processati / false = solo aperti / null = tutti</param>
Task<List<MatReqModel>> GetFiltAsync(int? orderID, int? orderRowID, int? itemID, bool? processed);
/// <summary>
/// Aggiorna un record MatReq esistente nel database.
/// </summary>
/// <param name="entity">Record aggiornato</param>
Task<bool> UpdateAsync(MatReqModel entity);
/// <summary>
/// Inserisce o aggiorna una lista di record MatReq nel database.
/// </summary>
/// <param name="entity">Record da inserire</param>
Task<bool> UpsertManyAsync(List<MatReqModel> listEntity);
#endregion Public Methods
}
}