Files

75 lines
2.8 KiB
C#

namespace EgwCoreLib.Lux.Data.Services.Catalog
{
public interface ITemplateRowService
{
#region Public Methods
/// <summary>
/// Esegue il cloning completo di un Template e di TUTTE le relative righe...
/// </summary>
/// <param name="rec2clone"></param>
/// <returns></returns>
Task<bool> CloneAsync(TemplateRowModel rec2clone);
/// <summary>
/// Eliminazione record
/// </summary>
/// <param name="rec2del"></param>
/// <returns></returns>
Task<bool> DeleteAsync(TemplateRowModel model);
/// <summary>
/// Effettua fix UID righe child del temoplate indicato e restituisce elenco UID da chiamare x refresh
/// </summary>
/// <param name="TemplateID">Key</param>
/// <returns></returns>
Task<List<string>> FixRowUidAsync(int templateId);
/// <summary>
/// Elenco completo TemplateRow da DB
/// </summary>
/// <returns></returns>
Task<List<TemplateRowModel>> GetAllAsync();
/// <summary>
/// Elenco filtrato (parent) TemplateRow da DB
/// </summary>
/// <param name="templateId"></param>
/// <returns></returns>
Task<List<TemplateRowModel>> GetByParentAsync(int templateId);
/// <summary>
/// Aggiorna stato await per riga template
/// </summary>
/// <param name="templateRowId">ID Riga Template da aggiornare</param>
/// <param name="awaitBom">Nuovo valore flag AwaitBom</param>
/// <param name="awaitPrice">Nuovo valore flag AwaitPrice</param>
/// <param name="flushCache">Se true, invalida cache correlata</param>
/// <returns></returns>
Task<bool> UpdateAwaitStateAsync(int templateRowId, bool? awaitBom, bool? awaitPrice, bool flushCache = false);
/// <summary>
/// Effettua update delle info legate al file per il Template indicato
/// </summary>
/// <param name="updRec">Riga Template coi dati da aggiornare</param>
/// <returns></returns>
Task<bool> UpdateFileDataAsync(TemplateRowModel updRec);
/// <summary>
/// Effettua update del valore serializzato della Riga Template
/// </summary>
/// <param name="TemplateRowID">ID Riga Template da aggiornare</param>
/// <param name="serStruct">Serializzazione oggetto (es JWD)</param>
/// <returns></returns>
Task<bool> UpdateSerStructAsync(int TemplateRowID, string serStruct);
/// <summary>
/// Upsert record TemplateRow
/// </summary>
/// <param name="updRec"></param>
/// <returns></returns>
Task<bool> UpsertAsync(TemplateRowModel upsRec);
#endregion Public Methods
}
}