Example #1
0
 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;
                         }
                     }
                 }
             }));
         });
     }
 }