修改了Dialog的调用方式,和实现了添加设备添加到侧边菜单中

This commit is contained in:
2025-06-26 19:36:27 +08:00
parent 0391e76931
commit 244b67391d
11 changed files with 134 additions and 54 deletions

View File

@@ -0,0 +1,44 @@
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<List<MenuBean>> GetMenu()
{
// //无主键用法新:5.1.4.110
// db.Queryable<Tree>().ToTree(it=>it.Child,it=>it.ParentId,0,it=>it.Id)//+4重载
List<MenuBean> menus = new();
var dbMenuList = await _db.Queryable<DbMenu>().ToTreeAsync(dm => dm.Items, dm => dm.ParentId, 0);
foreach (var item in dbMenuList)
{
menus.Add(item.CopyTo<MenuBean>());
}
return menus;
}
public async Task<int> AddMenu(MenuBean menu)
{
return await _db.Insertable<DbMenu>(menu.CopyTo<DbMenu>()).ExecuteCommandAsync();
}
public async Task<int> AddDeviceMenu(MenuBean menu)
{
var deviceMenu = await _db.Queryable<DbMenu>().FirstAsync(m => m.Name == "设备");
if (deviceMenu == null) return 0;
menu.ParentId = deviceMenu.Id;
return await _db.Insertable<DbMenu>(menu.CopyTo<DbMenu>()).ExecuteCommandAsync();
}
}