80 lines
2.9 KiB
C#
80 lines
2.9 KiB
C#
namespace EgwCoreLib.Lux.Data.Services.Warehouse
|
|
{
|
|
public interface IMatReqService
|
|
{
|
|
#region Public Methods
|
|
|
|
#if false
|
|
/// <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>
|
|
/// Eliminazione record
|
|
/// </summary>
|
|
/// <param name="rec2del"></param>
|
|
/// <returns></returns>
|
|
Task<bool> DeleteAsync(MatReqModel model);
|
|
|
|
|
|
/// <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);
|
|
#endif
|
|
|
|
/// <summary>
|
|
/// Effettua pulizia di tutta la cache Redis gestita
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task ClearClassCache();
|
|
|
|
/// <summary>
|
|
/// Recupera elenco record MatReq non ancora processati
|
|
/// </summary>
|
|
Task<List<MatReqModel>> GetUnprocAsync();
|
|
|
|
/// <summary>
|
|
/// Recupera elenco record MatReq dato OrderID.
|
|
/// </summary>
|
|
/// <param name="orderId">ID dell'Ordine da recuperare</param>
|
|
Task<List<MatReqModel>> GetByOrderAsync(int orderId);
|
|
|
|
/// <summary>
|
|
/// Recupera elenco record MatReq dato OrderID.
|
|
/// </summary>
|
|
/// <param name="orderRowId">ID della OrderRow da recuperare</param>
|
|
Task<List<MatReqModel>> GetByOrderRowAsync(int orderRowId);
|
|
|
|
/// <summary>
|
|
/// Riconcilia i fabbisogni x un set di RigheOrdine:
|
|
/// - verifica ogni riga d'orine e le relative BOM
|
|
/// - verifica eventuali fabbisogni presenti (tiene se ordinati, elimina se solo promessi)
|
|
/// - genera un set di record fabbisogni (MatReq) per garantire evazione BOM
|
|
/// </summary>
|
|
/// <param name="ListOrderRow">Lista OrderRow da processare</param>
|
|
/// <returns></returns>
|
|
Task<bool> ReconcileOrderRowsAsync(List<OrderRowModel> ListOrderRow, bool forceReset = false);
|
|
|
|
#endregion Public Methods
|
|
}
|
|
}
|