Files
DMS/DMS.Application/Interfaces/Management/IMenuManagementService.cs
David P.G 740688d575 refactor:将DataLoaderService中的LoadAll*Async方法移到对应的管理服务中
- 将LoadAllDevicesAsync方法移到DeviceManagementService
 - 将LoadAllVariableTablesAsync方法移到VariableTableManagementService
 - 将LoadAllVariablesAsync方法移到VariableManagementService
 - 将LoadAllMenusAsync方法移到MenuManagementService
 - 将LoadAllMqttServersAsync方法移到MqttManagementService
 - 将LoadAllNlogsAsync方法移到LogManagementService
 - 更新DataLoaderService以使用管理服务提供的方法
 - 修改IDataLoaderService接口以移除这些方法
 - 保持与LoadAllTriggersAsync相同的模式
 - 遵循单一职责原则,提高代码一致性" (提交修改并添加描述性的提交信息)
2025-10-18 17:59:21 +08:00

58 lines
1.4 KiB
C#

using DMS.Core.Models;
namespace DMS.Application.Interfaces.Management;
public interface IMenuManagementService
{
/// <summary>
/// 异步获取所有菜单列表。
/// </summary>
Task<List<MenuBean>> GetAllMenusAsync();
/// <summary>
/// 异步根据ID获取菜单。
/// </summary>
Task<MenuBean> GetMenuByIdAsync(int id);
/// <summary>
/// 异步创建一个新菜单。
/// </summary>
Task<int> CreateMenuAsync(MenuBean menu);
/// <summary>
/// 异步更新一个已存在的菜单。
/// </summary>
Task<int> UpdateMenuAsync(MenuBean menu);
/// <summary>
/// 异步删除一个菜单。
/// </summary>
Task<bool> DeleteMenuAsync(int id);
/// <summary>
/// 获取根菜单列表
/// </summary>
List<MenuBean> GetRootMenus();
/// <summary>
/// 根据父级ID获取子菜单列表
/// </summary>
/// <param name="parentId">父级菜单ID</param>
/// <returns>子菜单列表</returns>
List<MenuBean> GetChildMenus(int parentId);
/// <summary>
/// 构建菜单树结构
/// </summary>
void BuildMenuTree();
/// <summary>
/// 当菜单数据发生变化时触发
/// </summary>
event EventHandler<DMS.Application.Events.MenuChangedEventArgs> MenuChanged;
/// <summary>
/// 异步加载所有菜单数据到内存中。
/// </summary>
Task LoadAllMenusAsync();
}