Commit 2649e6db by wyc

修改菜单时,若操作的是最后一个子集或者第一个子集,则同时更新其父级的状态

parent 650120dd
{
"profiles": {
"Performance.ConsoleApp": {
"commandName": "Project"
},
"WSL": {
"commandName": "WSL2",
"distributionName": ""
}
}
}
\ No newline at end of file
......@@ -78,7 +78,17 @@ public ApiResponse UpdateSystemMenu(MenuRequest menuRequest)
{
try
{
var data = _menuRepository.GetEntity(w => w.ID == menuRequest.ID);
List<sys_menu> sys_Menus = new List<sys_menu>();
var datas = _menuRepository.GetEntities(w => w.ID == menuRequest.ParentID || w.ParentID == menuRequest.ParentID);
if (datas == null)
throw new PerformanceException("未找到需要修改的数据,请检查后重试");
if (datas.Where(w => w.ParentID == menuRequest.ParentID && w.States == 1).Count() <= 1)
{
var temp = datas.FirstOrDefault(w => w.ID == menuRequest.ParentID);
temp.States = menuRequest.States;
sys_Menus.Add(temp);
}
var data = datas.FirstOrDefault(w => w.ID == menuRequest.ID);
if (data == null)
throw new PerformanceException("未找到需要修改的数据");
data.ParentID = menuRequest.ParentID;
......@@ -86,7 +96,10 @@ public ApiResponse UpdateSystemMenu(MenuRequest menuRequest)
data.MenuUrl = menuRequest.MenuUrl;
data.States = menuRequest.States;
data.Sort = menuRequest.Sort;
_menuRepository.Update(data);
sys_Menus.Add(data);
if (sys_Menus == null)
throw new PerformanceException("未找到需要修改的数据,请检查后重试");
_menuRepository.UpdateRange(sys_Menus.ToArray());
return new ApiResponse(ResponseType.OK);
}
catch (Exception ex)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment