public CommandResult <Permissions> Update(int permissionsId, PermissionsUpdateRequestModel updateRequestModel) { using (var db = new FrameContext()) { var result = new CommandResult <Permissions>(); if (!BaseService.Exist(db, a => a.Id == permissionsId)) { result.Message = "该权限信息在系统中已不存在"; } else if (BaseService.Exist(db, a => a.Id == permissionsId && a.Sys)) { result.Message = "该权限是系统级的,不能被修改"; } else if (BaseService.Exist(db, a => a.PermissionsName == updateRequestModel.PermissionsName && a.Id != permissionsId)) { result.Message = "该权限名称在系统中已存在"; } else { var entity = BaseService.Find(db, a => a.Id == permissionsId); entity.PermissionsName = updateRequestModel.PermissionsName; if (!BaseService.Update(db, entity)) { result.Message = "未知原因"; } else { result.ResultStatus = ResultStatus.Success; result.Message = "权限信息修改成功"; result.Data = entity; } } return(result); } }
/// <summary> /// 权限修改 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TbtnPermissionsEdit_OnClick(object sender, RoutedEventArgs e) { var entity = (PermissionsModel)DgPermissions.SelectedItem; if (!_clsLoginModel.PermissionsFunc(_menuId, (int) PermissionsEnum.修改)) _metroWindow.ShowMessageAsync("友情提示", "您没有修改权限信息的权限"); else if (entity == null) _metroWindow.ShowMessageAsync("友情提示", "请选择需要修改的权限信息"); else { var setting = new MetroDialogSettings { AnimateShow = true, AnimateHide = true, AffirmativeButtonText = "保存", NegativeButtonText = "取消", DefaultButtonFocus = MessageDialogResult.Negative, DefaultText = entity.PermissionsName }; _metroWindow.ShowInputAsync("权限信息修改", "权限名称", setting).ContinueWith(a => { Dispatcher.Invoke((Action)(() => { if (a.Result != null) { if (a.Result.Trim().Length == 0) _metroWindow.ShowMessageAsync("友情提示", "权限名称不能为空").ContinueWith(z => { Dispatcher.Invoke((Action)(() => TbtnPermissionsEdit_OnClick(sender, e))); }); else { var updateRequest = new PermissionsUpdateRequestModel { PermissionsName = a.Result }; var result = _permissionsManage.Update(entity.PermissionsId, updateRequest); _metroWindow.ShowMessageAsync( result.ResultStatus == ResultStatus.Success ? "修改成功提示" : "修改失败提示", result.Message); if (result.ResultStatus == ResultStatus.Success) { entity.PermissionsName = result.Data.PermissionsName; entity.Sort = result.Data.Sort; } } } })); }); } }