139 lines
5.7 KiB
C#
139 lines
5.7 KiB
C#
namespace EgwCoreLib.Lux.Data.Services.Sales
|
|
{
|
|
public interface IOrderRowService
|
|
{
|
|
#region Public Methods
|
|
|
|
/// <summary>
|
|
/// Eliminazione record
|
|
/// </summary>
|
|
/// <param name="rec2del"></param>
|
|
/// <returns></returns>
|
|
Task<bool> DeleteAsync(OrderRowModel model);
|
|
|
|
/// <summary>
|
|
/// Effettua fix TipoImg righe child dell' Order indicato
|
|
/// </summary>
|
|
/// <param name="OrderId">Key</param>
|
|
/// <returns></returns>
|
|
Task<bool> FixImgTypeAsync(int OrderId);
|
|
|
|
/// <summary>
|
|
/// Effettua fix UID righe child del temoplate indicato e restituisce elenco UID da chiamare x refresh
|
|
/// </summary>
|
|
/// <param name="OrderId">Key</param>
|
|
/// <returns></returns>
|
|
Task<List<string>> FixUidAsync(int OrderId);
|
|
|
|
/// <summary>
|
|
/// Recupera una riga ordine per ID. Utilizza la cache se doForce è false.
|
|
/// </summary>
|
|
/// <param name="OrderRowId">ID della riga ordine da recuperare</param>
|
|
Task<OrderRowModel?> GetByIdAsync(int OrderRowId);
|
|
|
|
/// <summary>
|
|
/// Elenco filtrato (parent) OrderRow da DB
|
|
/// </summary>
|
|
/// <param name="OrderId"></param>
|
|
/// <returns></returns>
|
|
Task<List<OrderRowModel>> GetByParentAsync(int OrderId);
|
|
|
|
/// <summary>
|
|
/// Recupera le righe ordine filtrate per stato in un intervallo di date.
|
|
/// Utilizza la cache automaticamente.
|
|
/// </summary>
|
|
/// <param name="reqState">Stato richiesto</param>
|
|
/// <param name="dtStart">Data inizio periodo</param>
|
|
/// <param name="dtEnd">Data fine periodo</param>
|
|
Task<List<OrderRowModel>> GetByStateAsync(OrderStates reqState, DateTime dtStart, DateTime dtEnd);
|
|
|
|
/// <summary>
|
|
/// Recupera le righe ordine con stato minimo in un intervallo di date.
|
|
/// Utilizza la cache automaticamente.
|
|
/// </summary>
|
|
/// <param name="reqState">Stato minimo richiesto</param>
|
|
/// <param name="dtStart">Data inizio periodo</param>
|
|
/// <param name="dtEnd">Data fine periodo</param>
|
|
Task<List<OrderRowModel>> GetByStateMinAsync(OrderStates reqState, DateTime dtStart, DateTime dtEnd);
|
|
|
|
/// <summary>
|
|
/// Recupera una riga ordine per UID. Utilizza la cache automaticamente.
|
|
/// </summary>
|
|
/// <param name="OrderRowUid">UID della riga ordine da recuperare</param>
|
|
Task<OrderRowModel?> GetByUidAsync(string OrderRowUid);
|
|
|
|
/// <summary>
|
|
/// Aggiorna lo stato di attesa (BOM/Prezzo) per una riga ordine.
|
|
/// </summary>
|
|
/// <param name="OrderRowId">ID della riga da aggiornare</param>
|
|
/// <param name="awaitBom">Nuovo valore AwaitBom</param>
|
|
/// <param name="awaitPrice">Nuovo valore AwaitPrice</param>
|
|
/// <param name="flushCache">Se true invalida la cache</param>
|
|
Task<bool> UpdateAwaitStateAsync(int OrderRowId, bool? awaitBom, bool? awaitPrice, bool flushCache = false);
|
|
|
|
/// <summary>
|
|
/// Effettua update del valore serializzato della Riga Order
|
|
/// </summary>
|
|
/// <param name="OrderRowID">ID Riga Order da aggiornare</param>
|
|
/// <param name="serStruct">Serializzazione oggetto (es JWD)</param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateBomAsync(int OrderRowID, List<BomItemDTO> newBomList);
|
|
|
|
/// <summary>
|
|
/// Effettua update della BOM (esplicita) della Riga Order
|
|
/// </summary>
|
|
/// <param name="uID">UID Riga Offer da aggiornare</param>
|
|
/// <param name="newBomList">BOM List esplicita</param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateBomAsync(string uID, List<BomItemDTO> newBomList);
|
|
|
|
/// <summary>
|
|
/// Effettua update delle info legate al file per il Order indicato
|
|
/// </summary>
|
|
/// <param name="updRec">Riga Order coi dati da aggiornare</param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateFileDataAsync(OrderRowModel updRec);
|
|
|
|
/// <summary>
|
|
/// Effettua update del valore serializzato della Riga Order
|
|
/// </summary>
|
|
/// <param name="OrderRowID">ID Riga Order da aggiornare</param>
|
|
/// <param name="serStruct">Serializzazione oggetto (es JWD)</param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateSerStructAsync(int OrderRowID, string serStruct);
|
|
|
|
/// <summary>
|
|
/// Effettua update dello stato della Riga Order
|
|
/// </summary>
|
|
/// <param name="OrderRowID">ID Riga Order da aggiornare</param>
|
|
/// <param name="serStruct">Serializzazione oggetto (es JWD)</param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateStateAsync(int orderRowID, OrderStates reqState);
|
|
|
|
/// <summary>
|
|
/// Upsert record OrderRow
|
|
/// </summary>
|
|
/// <param name="updRec"></param>
|
|
/// <returns></returns>
|
|
Task<OrderRowModel?> UpsertAsync(OrderRowModel upsRec);
|
|
|
|
/// <summary>
|
|
/// Esegue salvataggio ProdEstimate (per riga ordine) sul DB
|
|
/// </summary>
|
|
/// <param name="uID">UID dell'item offerta di cui si è ricevuto la ProdEstim</param>
|
|
/// <param name="execEnvironment">Environment dell'item</param>
|
|
/// <param name="prodEstim">Stima ProdEstimate serializzata</param>
|
|
/// <returns></returns>
|
|
Task<bool> SaveProdEstAsync(string uID, string prodEstim);
|
|
|
|
/// <summary>
|
|
/// Validazione record:
|
|
/// - controllo state vs estimate
|
|
/// - segnala il numero dei record aggiornati
|
|
/// </summary>
|
|
/// <param name="list2chk">Elenco record da verificare</param>
|
|
Task<int> ValidateAsync(List<OrderRowModel> list2chk);
|
|
|
|
#endregion Public Methods
|
|
}
|
|
} |