/// <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); })); } }); }
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); }