public CommandResult <Dept> Update(int id, DeptUpdateRequestModel requestModel) { var result = new CommandResult <Dept>(); if (!Exist(a => a.Id == id)) { result.Message = "该部门信息在系统中已不存在"; } else if (Exist(a => a.Id != id && a.Name == requestModel.DeptName)) { result.Message = $"部门名称“{requestModel.DeptName}”在系统中已存在"; } else { using (var db = new FrameContext()) { var entity = BaseService.Find(db, a => a.Id == id); entity.Name = requestModel.DeptName; entity.PId = requestModel.ParentId; 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 BtnUpdate_OnClick(object sender, RoutedEventArgs e) { var selectedItem = (DeptAllResponseModel)TvDept.SelectedItem; if (!_clsLoginModel.PermissionsFunc(_menuId, (int)PermissionsEnum.修改)) { _metroWindow.ShowMessageAsync("友情提示", "您没有修改部门信息的权限"); } else if (selectedItem == null) { _metroWindow.ShowMessageAsync("友情提示", "请选择相应的节点"); } else if (selectedItem.DeptId == 0) { _metroWindow.ShowMessageAsync("友情提示", "该节点不能被修改,请重新选择"); } else { var setting = new MetroDialogSettings { AnimateShow = true, AnimateHide = true, AffirmativeButtonText = "确定", NegativeButtonText = "取消", DefaultButtonFocus = MessageDialogResult.Negative, DefaultText = selectedItem.DeptName }; _metroWindow.ShowInputAsync("部门信息修改", "部门名称", setting).ContinueWith(t => { Dispatcher.Invoke((Action)(() => { var deptName = t.Result; if (deptName != null) { var requestModel = new DeptUpdateRequestModel { DeptName = deptName, ParentId = selectedItem.ParentId }; var result = _deptManage.Update(selectedItem.DeptId, requestModel); if (result.ResultStatus == ResultStatus.Success) { selectedItem.DeptName = result.Data.Name; selectedItem.ParentId = result.Data.PId; } _metroWindow.ShowMessageAsync(result.ResultStatus == ResultStatus.Success ? "成功提示" : "失败提示", result.Message); } })); }); } }