namespace EgwCoreLib.Lux.Data.Repository.Supplier { /// /// Interfaccia per la gestione degli ordini. /// public interface IBuyOrderRepository : IBaseRepository { /// /// Inserisce un nuovo ordine nel database. /// /// L'ordine da inserire. /// True se l'inserimento ha successo, false altrimenti. Task AddAsync(BuyOrderModel entity); /// /// Elimina un ordine dal database. /// /// L'ordine da eliminare. /// True se l'eliminazione ha successo, false altrimenti. Task DeleteAsync(BuyOrderModel entity); /// /// Generazione di un nuovo BuyOrder + righe + associazione fabbisogni da dizionario /// /// Dizionario selezione CodGroup, List /// Task GenerateFromSelectionAsync(Dictionary> currSelDict); /// /// Recupera l'elenco di tutti gli ordini. /// /// L'elenco di tutti gli ordini con clienti, rivenditori e righe associate. Task> GetAllAsync(); /// /// Recupera un ordine per il suo identificatore. /// /// L'identificatore dell'ordine. /// L'ordine corrispondente, o null se non esiste. Task GetByIdAsync(int recId); /// /// Recupera gli ordini inseriti in un intervallo di date specifico. /// /// La data di inizio del periodo. /// La data di fine del periodo. /// L'elenco degli ordini nell'intervallo specificato. Task> GetFiltAsync(DateTime inizio, DateTime fine); /// /// Recupera le righe dell'ordine per un ordine specifico. /// /// L'identificatore dell'ordine. /// L'elenco delle righe dell'ordine. Task> GetRowsAsync(int recId); /// /// Aggiorna in batch le righe di un ordine. /// /// L'elenco delle righe da aggiornare. /// True se l'aggiornamento ha successo, false altrimenti. Task SaveRowsAsync(List rows); /// /// Aggiorna un ordine esistente nel database. /// /// L'ordine aggiornato. /// True se l'aggiornamento ha successo, false altrimenti. Task UpdateAsync(BuyOrderModel entity); } }