/// <summary>
        /// 保存修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnEdit_OnClick(object sender, RoutedEventArgs e)
        {
            if (!_clsLoginModel.PermissionsFunc(_menuId, (int)PermissionsEnum.修改))
            {
                _metroWindow.ShowMessageAsync("友情提示", "您没有权限修改功能分组信息");
                return;
            }
            if (!Verify())
            {
                return;
            }
            if (IcoSource == null)
            {
                _metroWindow.ShowMessageAsync("友情提示", "请选择图标文件");
                return;
            }

            var old     = (NavBarGroups)_leftMenu.NavBarControlMain.ActiveGroup.DataContext;
            var setting = new MetroDialogSettings
            {
                AnimateShow = true,
                AnimateHide = true,
                FirstAuxiliaryButtonText = "是",
                NegativeButtonText       = "否",
                DefaultButtonFocus       = MessageDialogResult.Negative
            };

            _metroWindow.ShowMessageAsync("安全提示", "修改后将无法恢复成原有数据,您是否继续修改此信息?", MessageDialogStyle.AffirmativeAndNegative, setting).ContinueWith(
                t =>
            {
                if (t.Result == MessageDialogResult.Affirmative)
                {
                    _metroWindow.Dispatcher.Invoke((Action)(() =>
                    {
                        var requestModel = new NavBarGroupsUpdateRequestModel
                        {
                            NavBarGroupName = NavBarGroupName,
                            IcoPath = IcoPath,
                            Sort = Convert.ToInt32(Sort),
                            Timestamp = _navBarGroupsManage.ServerTime.ToUnixTimestamp()
                        };
                        var result = _navBarGroupsManage.Update(NavBarGroupId, old.Timestamp, requestModel);
                        if (result.ResultStatus == ResultStatus.Success)
                        {
                            _leftMenu.ResetActiveGroup(result.Data);
                        }
                        _metroWindow.ShowMessageAsync(result.ResultStatus == ResultStatus.Success ? "保存成功提示" : "保存失败提示", result.Message);
                    }));
                }
            });
        }
예제 #2
0
        public CommandResult <NavBarGroups> Update(int navBarGroupId, long timestamp, NavBarGroupsUpdateRequestModel requestModel)
        {
            var result = new CommandResult <NavBarGroups>();

            using (var db = new FrameContext())
            {
                if (!Exist(a => a.Id == navBarGroupId))
                {
                    result.Message = "该功能菜单在系统中已不存在!";
                }
                else if (!Exist(a => a.Id == navBarGroupId && a.Timestamp == timestamp))
                {
                    result.Message = "该信息已在别处被修改,请刷新后再试!";
                }
                else if (Exist(a => a.Id != navBarGroupId && a.Name == requestModel.NavBarGroupName))
                {
                    result.Message = $"系统中已存在“{requestModel.NavBarGroupName}”名称!";
                }
                else
                {
                    var entity = BaseService.Find(db, a => a.Id == navBarGroupId);
                    entity.Name      = requestModel.NavBarGroupName;
                    entity.Ico       = requestModel.IcoPath;
                    entity.Sort      = requestModel.Sort;
                    entity.Timestamp = requestModel.Timestamp;

                    if (!BaseService.Update(db, entity))
                    {
                        result.Message = "未知原因";
                    }
                    else
                    {
                        result.ResultStatus = ResultStatus.Success;
                        result.Message      = "功能菜单信息修改成功!";
                        result.Data         = entity;
                    }
                }
            }
            return(result);
        }