51 lines
1.8 KiB
C#
51 lines
1.8 KiB
C#
namespace EgwCoreLib.Lux.Data.Services.Sales
|
|
{
|
|
public interface IOrderService
|
|
{
|
|
#region Public Methods
|
|
|
|
/// <summary>
|
|
/// Genera un nuovo record ordine:
|
|
/// - cloning completo di un offerta + TUTTE le relative righe di offerta + rif offerta
|
|
/// - generazione prodItems x etichette
|
|
/// </summary>
|
|
/// <param name="rec2clone"></param>
|
|
/// <returns></returns>
|
|
Task<OrderModel?> CloneOfferAsync(OfferModel rec2clone);
|
|
|
|
/// <summary>
|
|
/// Reset cache sistema x Ordini modalità async
|
|
/// </summary>
|
|
Task<bool> FlushCacheOrdersAsync();
|
|
|
|
/// <summary>
|
|
/// Elenco completo Order da DB
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<List<OrderModel>> GetFiltAsync(DateTime inizio, DateTime fine);
|
|
|
|
/// <summary>
|
|
/// Recupera un ordine per ID con opzione di forzare il caricamento dal database.
|
|
/// Se doForce è true, carica sempre dal DB altrimenti usa la cache.
|
|
/// </summary>
|
|
/// <param name="recId">ID del record da recuperare</param>
|
|
/// <param name="doForce">Se true forza il caricamento dal database</param>
|
|
Task<OrderModel?> GetByIdAsync(int recId, bool doForce);
|
|
|
|
/// <summary>
|
|
/// Effettua update dei costi di tutte le righe dell'ordine indicato
|
|
/// </summary>
|
|
/// <param name="OrderId">ID dell'ordine da aggiornare</param>
|
|
Task<bool> UpdateCostAsync(int OrderId);
|
|
|
|
/// <summary>
|
|
/// Inserisce o aggiorna un record ordine in base all'esistenza dell'ID.
|
|
/// Invalida automaticamente le cache correlate.
|
|
/// </summary>
|
|
/// <param name="upsRec">Record da inserire o aggiornare</param>
|
|
Task<bool> UpsertAsync(OrderModel upsRec);
|
|
|
|
#endregion Public Methods
|
|
}
|
|
}
|