using System.Windows.Controls; using PMSWPF.Data.Entities; using PMSWPF.Extensions; using PMSWPF.Models; using SqlSugar; namespace PMSWPF.Data.Repositories; public class MenuRepository { private readonly SqlSugarClient _db; public MenuRepository() { _db = DbContext.GetInstance(); } public async Task> GetMenu() { // //无主键用法新:5.1.4.110 // db.Queryable().ToTree(it=>it.Child,it=>it.ParentId,0,it=>it.Id)//+4重载 List menus = new(); var dbMenuList = await _db.Queryable().ToTreeAsync(dm => dm.Items, dm => dm.ParentId, 0); foreach (var item in dbMenuList) { menus.Add(item.CopyTo()); } return menus; } public async Task AddMenu(MenuBean menu) { return await _db.Insertable(menu.CopyTo()).ExecuteCommandAsync(); } public async Task AddDeviceMenu(MenuBean menu) { var deviceMenu = await _db.Queryable().FirstAsync(m => m.Name == "设备"); if (deviceMenu == null) return 0; menu.ParentId = deviceMenu.Id; return await _db.Insertable(menu.CopyTo()).ExecuteCommandAsync(); } }