using FrameworkDAL.DTO.Menu; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace FrameworkBLL.Menu { /// /// Interface for Menu Business Logic Layer /// public interface IMenuBLL { /// /// Gets the menu for a specific user and module. /// /// The ID of the user. /// The ID of the module. /// The login details. /// A task that represents the asynchronous operation. The task result contains the menu as a string. Task GetMenuForUserModule(int UserId, int ModuleId, LoginDTO LoginDTO); /// /// GetMenu /// /// /// /// Task GetMenu(int MenuId, LoginDTO LoginDTO); Task GetReportCriteriaForMenu(int UserId, int MenuId, int IsFromScreen, LoginDTO LoginDTO); /// /// Retrieves a list of Menu records based on filter criteria. /// Typically used for populating dropdowns or selection lists in the UI. /// /// Filter criteria for selecting Menus. /// The current user's login details. /// A JSON string representing the list of Menus. Task GetSelectListMenu(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task GetMenuListBasedMenuSetForTree(int Type, int ModuleId, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task GetMenuAdmin(int menuId, LoginDTO LoginDTO, CancellationToken ct); Task SaveMenu(MenuAdminDTO dto, LoginDTO LoginDTO, CancellationToken ct); Task DeleteMenu(int menuId, LoginDTO LoginDTO, CancellationToken ct); } }