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