Files

72 lines
2.7 KiB
C#

namespace EgwCoreLib.Lux.Data.Services.Items
{
public interface IItemService
{
#region Public Methods
/// <summary>
/// Eliminazione record
/// </summary>
/// <param name="rec2del"></param>
/// <returns></returns>
Task<bool> DeleteAsync(ItemModel model);
/// <summary>
/// Recupera alternative per item specifico
/// </summary>
/// <param name="recId">ID Record da cercare</param>
/// <returns></returns>
Task<List<ItemModel>> GetAltAsync(int recId);
/// <summary>
/// Fissa ItemID mancanti nella BOM cercando corrispondenze per codice esterno
/// </summary>
/// <param name="listOrg">Lista BOM originale da correggere</param>
/// <returns></returns>
Task<List<BomItemDTO>> GetBomFixItemIdAsync(List<BomItemDTO> listOrg);
/// <summary>
/// Filtra items per gruppo e tipo classe
/// </summary>
/// <param name="CodGroup">Codice gruppo filtro</param>
/// <param name="ItemType">Tipo classe item</param>
/// <returns></returns>
Task<List<ItemModel>> GetFiltAsync(string CodGroup, ItemClassType ItemType);
/// <summary>
/// Cerca items tramite termine di ricerca
/// </summary>
/// <param name="term">Termine di ricerca</param>
/// <returns></returns>
Task<List<ItemModel>> GetSearchAsync(string term);
/// <summary>
/// Aggiornamento massivo costi e parametri item
/// </summary>
/// <param name="list2upd">Lista items da aggiornare</param>
/// <param name="setCost">Costo da impostare</param>
/// <param name="defMargin">Margine di default</param>
/// <param name="defQtyMax">Quantità massima default</param>
/// <param name="defUM">Unità di misura default</param>
/// <param name="roundVal">Valore per arrotondamento</param>
/// <param name="scaleFactor">Fattore di scala</param>
/// <returns></returns>
Task<bool> MassUpdateAsync(List<BomItemDTO> list2upd, double setCost, double defMargin, double defQtyMax, string defUM, int roundVal = 0, double scaleFactor = 1_000_000.0);
/// <summary>
/// Upsert record Item (aggiorna o inserisce)
/// </summary>
/// <param name="upsRec"></param>
/// <returns></returns>
Task<bool> UpsertAsync(ItemModel upsRec);
/// <summary>
/// Inserisce/aggiorna items dalla BOM
/// </summary>
/// <param name="bomList">Lista BOM da processare</param>
/// <returns></returns>
Task<bool> UpsertFromBomAsync(List<BomItemDTO> bomList);
#endregion Public Methods
}
}