namespace EgwCoreLib.Lux.Data.Repository.Sales { /// /// Interfaccia per la gestione delle righe delle offerte. /// public interface IOfferRowRepository : IBaseRepository { /// /// Inserisce una nuova riga d'offerta nel database e adegua i numeri di riga successivi. /// /// La riga d'offerta da inserire. /// True se l'inserimento ha successo, false altrimenti. Task AddAsync(OfferRowModel entity); /// /// Elimina una riga d'offerta e adegua i numeri di riga successivi. /// /// La riga d'offerta da eliminare. /// True se l'eliminazione ha successo, false altrimenti. Task DeleteAsync(OfferRowModel entity); /// /// Recupera l'elenco degli elementi BOM (Bill of Materials). /// /// L'elenco degli elementi BOM. Task> GetBomItemsAsync(); /// /// Recupera una riga d'offerta per il suo identificatore. /// /// L'identificatore della riga d'offerta. /// La riga d'offerta corrispondente, o null se non esiste. Task GetByIdAsync(int offerRowId); /// /// Recupera tutte le righe d'offerta per un'offerta specifica. /// /// L'identificatore dell'offerta. /// L'elenco delle righe d'offerta associate all'offerta. Task> GetByParentAsync(int offerId); /// /// Recupera una riga d'offerta per il suo UID. /// /// L'UID della riga d'offerta. /// La riga d'offerta corrispondente, o null se non esiste. Task GetByUidAsync(string offerRowUid); /// /// Recupera l'elenco dei gruppi di articoli. /// /// L'elenco dei gruppi di articoli. Task> GetItemGroupsAsync(); /// /// Aggiorna in batch le righe d'offerta. /// /// L'elenco delle righe da aggiornare. /// True se l'aggiornamento ha successo, false altrimenti. Task SaveRowsAsync(List rows); /// /// Aggiorna una riga d'offerta esistente. /// /// La riga d'offerta aggiornata. /// True se l'aggiornamento ha successo, false altrimenti. Task UpdateAsync(OfferRowModel entity); } }