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);
        }
Exemple #2
0
        /// <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);
                        }
                    }));
                });
            }
        }