using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using MMDAL.DTO.Item; namespace MMDAL.CustomCode.Item { public interface IItemDAL { Task GetItemMasterReport(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, int FromNumber, int ToNumber, string Orderbyfield, bool Count = false); Task GetSelectListItem(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, bool IsCount = false); Task SaveItem(ItemDTO ItemDTO, LoginDTO LoginDTO); Task UpdateItem(ItemDTO ItemDTO, LoginDTO LoginDTO); Task GetItem(int ItemId, LoginDTO LoginDTO); // GB4 migration: DELETE /mms/Item.svc/?ItemId={ItemId} Task ItemExists(int ItemId, LoginDTO LoginDTO, CancellationToken ct = default); Task GetItemTransactionUsageCount(int ItemId, LoginDTO LoginDTO, CancellationToken ct = default); Task> GetItemBlockingReferences(int ItemId, LoginDTO LoginDTO, CancellationToken ct = default); Task DeleteItem(int ItemId, LoginDTO LoginDTO, CancellationToken ct = default); Task> GetItemDetailsQualityParameter(int firstNumber, int maxResult, CriteriaDTO criteriaDTO, LoginDTO loginDTO, CancellationToken ct = default); Task GetItemDetails(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, CancellationToken ct = default); Task GetSelectListProductFamily(CriteriaDTO criteriaDTO, LoginDTO login); Task GetItemSelectlistFromOU(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, bool IsCount = false); // GB4 parity: MMBLL.Item.ItemBLL.GetItemBasedOnDocument (Item.svc/Item/Based/On/Document). // DocumentId (mandatory) and optional Name/Type criteria drive which TMMDETAIL lines // are returned for a given document, with Type selecting the "still awaiting costing" // variant. Task GetItemBasedOnDocument(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, bool IsCount = false); // GB4 parity: Item.svc/DIMxxxSelectList — denormalized DIMITEMCLASS dropdown source (distinct from // the master-table SelectList endpoints already implemented under ItemBrand/ItemCategory/ItemGroup/ // ItemModel/ItemSubCategory modules). Task GetDIMItemBrandSelectList(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task GetDIMItemCategorySelectList(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task GetDIMItemGroupSelectList(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task GetDIMItemModelSelectList(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task GetDIMItemSubCategorySelectList(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); } }