public async Task <MenuResponse> Update(MenuUpdateRequest request) { if (!HasPremission(request.RequestOwner, MenuPremssion.CanUpdate)) { return(UnauthorizedRequest()); } var updatingMenu = await _menuDataSrv.Query.FirstAsync(x => x.Id == request.MenuId); request.ViewModel.MapToModel(updatingMenu); await BaseBeforeUpdateAsync(updatingMenu, request.RequestOwner); await HandleMenuItemsAsync(request, updatingMenu); await _menuDataSrv.UpdateAsync(updatingMenu); await HandleMetaDataAsync(updatingMenu.MenuItems.ToList(), request.ViewModel.MenuItems); await BaseAfterUpdateAsync(updatingMenu, request.RequestOwner); return(new MenuResponse { Access = ResponseAccess.Granted }); }
public async Task OnRecordEditConfirm() { #region 進行 Form Validation 檢查驗證作業 if (LocalEditContext.Validate() == false) { return; } #endregion #region 檢查資料完整性 if (isNewRecordMode == true) { var checkedResult = await CurrentService .BeforeAddCheckAsync(CurrentRecord); if (checkedResult.Success == false) { MessageBox.Show("400px", "200px", "警告", VerifyRecordResultHelper.GetMessageString(checkedResult), MessageBox.HiddenAsync); await thisView.NeedRefreshAsync(); return; } } else { var checkedResult = await CurrentService .BeforeUpdateCheckAsync(CurrentRecord); if (checkedResult.Success == false) { MessageBox.Show("400px", "200px", "警告", VerifyRecordResultHelper.GetMessageString(checkedResult), MessageBox.HiddenAsync); await thisView.NeedRefreshAsync(); return; } } #endregion if (IsShowEditRecord == true) { if (isNewRecordMode == true) { var verifyRecordResult = await CurrentService.AddAsync(CurrentRecord); await TranscationResultHelper.CheckDatabaseResult(MessageBox, verifyRecordResult); dataGrid.RefreshGrid(); } else { var verifyRecordResult = await CurrentService.UpdateAsync(CurrentRecord); await TranscationResultHelper.CheckDatabaseResult(MessageBox, verifyRecordResult); dataGrid.RefreshGrid(); } IsShowEditRecord = false; } }