/// <summary> /// 删除功能项 /// </summary> /// <param name="input">功能项信息</param> /// <returns></returns> public async Task <OperateStatus> DeleteMenuButton(IdInput input) { var operateStatus = new OperateStatus(); //查看该功能项是否已被特性占用 var permissions = await _permissionLogic.DeleteSystemPermissionsByPrivilegeAccessAndValue(EnumPrivilegeAccess.菜单按钮, input.Id); return(await DeleteAsync(new SystemMenuButton { MenuButtonId = input.Id })); }
/// <summary> /// 删除菜单及下级数据 /// </summary> /// <param name="input">父级id</param> /// <returns></returns> public async Task <OperateStatus> DeleteMenuAndChilds(IdInput <string> input) { var operateStatus = new OperateStatus(); //判断该项能否进行删除 var menu = await GetByIdAsync(input.Id); if (!menu.CanbeDelete) { operateStatus.ResultSign = ResultSign.Error; operateStatus.Message = Chs.CanotDelete; return(operateStatus); } foreach (var id in input.Id.Split(',')) { Guid menuId = Guid.Parse(id); MenuDeletGuid.Add(menuId); await GetMenuDeleteGuid(menuId); foreach (var delete in MenuDeletGuid) { await _permissionLogic.DeleteSystemPermissionsByPrivilegeAccessAndValue(EnumPrivilegeAccess.菜单, delete); //删除对应按钮及按钮权限 var functions = await _menuButtonRepository.GetMenuButtonByMenuId(new SystemMenuGetMenuButtonByMenuIdInput { Id = delete }); foreach (var item in functions) { await _permissionLogic.DeleteSystemPermissionsByPrivilegeAccessAndValue(EnumPrivilegeAccess.菜单按钮, item.MenuButtonId); await _menuButtonRepository.DeleteAsync(new SystemMenuButton { MenuButtonId = item.MenuButtonId }); } await DeleteAsync(new SystemMenu { MenuId = delete }); } } operateStatus.ResultSign = ResultSign.Successful; operateStatus.Message = Chs.Successful; return(operateStatus); }