using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using MMDAL.DTO.BOM; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MMBLL.BOM { public interface IBOMBLL { Task GetSelectListBOM(CriteriaDTO criteriaDTO, LoginDTO loginDTO); Task GetSelectListBOMDetailsForTransaction(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, bool Count = false); Task GetBOM(int BOMId, LoginDTO LoginDTO); Task SaveBOM(BOMDTO dto, LoginDTO login); Task DeleteBOM(int BOMId, LoginDTO LoginDTO); /// /// Live BOM explosion tree (flat + parent-pointer shaped, matching the legacy GB4 shape) — /// no caching/materialized view, computed fresh on every call. /// Task> GetBOMTree(int bomId, decimal quantityForBom, LoginDTO loginDTO, CancellationToken ct = default); } }