public async Task OnCommandClicked(CommandClickEventArgs <ExceptionRecordAdapterModel> args) { ExceptionRecordAdapterModel item = args.RowData as ExceptionRecordAdapterModel; if (args.CommandColumn.ButtonOption.IconCss == ButtonIdHelper.ButtonIdEdit) { #region 點選 修改紀錄 按鈕 CurrentRecord = item.Clone(); EditRecordDialogTitle = "修改紀錄"; IsShowEditRecord = true; isNewRecordMode = false; #endregion } else if (args.CommandColumn.ButtonOption.IconCss == ButtonIdHelper.ButtonIdDelete) { #region 點選 刪除紀錄 按鈕 CurrentNeedDeleteRecord = item; #region 檢查關聯資料是否存在 var checkedResult = await CurrentService .BeforeDeleteCheckAsync(CurrentNeedDeleteRecord); await Task.Delay(100); if (checkedResult.Success == false) { MessageBox.Show("400px", "200px", "警告", ErrorMessageMappingHelper.Instance.GetErrorMessage(checkedResult.MessageId), MessageBox.HiddenAsync); await Task.Yield(); await thisView.NeedRefreshAsync(); return; } #endregion #region 刪除這筆紀錄 await Task.Yield(); var checkTask = ConfirmMessageBox.ShowAsync("400px", "200px", "警告", "確認要刪除這筆紀錄嗎?", ConfirmMessageBox.HiddenAsync); await thisView.NeedRefreshAsync(); var checkAgain = await checkTask; if (checkAgain == true) { var verifyRecordResult = await CurrentService.DeleteAsync(CurrentNeedDeleteRecord.Id); await TranscationResultHelper.CheckDatabaseResult(MessageBox, verifyRecordResult); dataGrid.RefreshGrid(); } #endregion #endregion } }
public Task ShowAsync(string width, string height, string title, string body, Func <Task> messageCallbackDelegate = null, int timeElapsing = 0, IRazorPage razorPage = null) { TimeElapsing = timeElapsing; RazorPage = razorPage; MessageDelegate = messageCallbackDelegate; TaskCompletionSource = new TaskCompletionSource(); Height = height; Width = width; Title = title; Body = body; IsVisible = true; if (TimeElapsing > 0 && RazorPage != null) { WaitTask = Task.Run(async() => { int timeCounter = 0; while (true) { if (timeCounter > TimeElapsing) { if (messageCallbackDelegate != null) { await messageCallbackDelegate(); } await RazorPage.NeedRefreshAsync(); break; } await Task.Delay(500); timeCounter += 500; } }); } return(TaskCompletionSource.Task); }
public async Task OnSaveAsync() { #region 進行 Form Validation 檢查驗證作業 if (LocalEditContext.Validate() == false) { return; } #endregion #region 其他資料完整性驗證 #endregion #region 進行密碼變更 await AccountPolicyService.UpdateAsync(AccountPolicyModel); await thisView.NeedRefreshAsync(); await Task.Delay(200); MessageBox.Show("400px", "200px", "通知", "紀錄已經儲存成功", MessageBox.HiddenAsync); #endregion }
public async Task OnCommandClicked(CommandClickEventArgs <OrderMasterAdapterModel> args) { OrderMasterAdapterModel item = args.RowData as OrderMasterAdapterModel; if (args.CommandColumn.ButtonOption.IconCss == ButtonIdHelper.ButtonIdEdit) { #region 點選 修改紀錄 按鈕 CurrentRecord = item.Clone(); EditRecordDialogTitle = "修改紀錄"; IsShowEditRecord = true; isNewRecordMode = false; #endregion } else if (args.CommandColumn.ButtonOption.IconCss == ButtonIdHelper.ButtonIdDelete) { #region 點選 刪除紀錄 按鈕 CurrentNeedDeleteRecord = item; #region 檢查關聯資料是否存在 var checkedResult = await CurrentService .BeforeDeleteCheckAsync(CurrentNeedDeleteRecord); await Task.Delay(100); if (checkedResult.Success == false) { MessageBox.Show("400px", "200px", "警告", ErrorMessageMappingHelper.Instance.GetErrorMessage(checkedResult.MessageId), MessageBox.HiddenAsync); await Task.Yield(); await thisView.NeedRefreshAsync(); return; } #endregion #region 刪除這筆紀錄 await Task.Yield(); var checkTask = ConfirmMessageBox.ShowAsync("400px", "200px", "警告", "確認要刪除這筆紀錄嗎?", ConfirmMessageBox.HiddenAsync); await thisView.NeedRefreshAsync(); var checkAgain = await checkTask; if (checkAgain == true) { var verifyRecordResult = await CurrentService.DeleteAsync(CurrentNeedDeleteRecord.Id); await TranscationResultHelper.CheckDatabaseResult(MessageBox, verifyRecordResult); dataGrid.RefreshGrid(); } #endregion #endregion } else if (args.CommandColumn.ButtonOption.IconCss == ButtonIdHelper.ButtonIdShowDetailOfMaster) { #region 點選 開啟多筆 CRUD 對話窗 按鈕 IsShowMoreDetailsRecord = true; ShowMoreDetailsRecordDialogTitle = MagicHelper.訂單明細管理功能名稱; MasterRecord masterRecord = new MasterRecord() { Id = item.Id }; Header = masterRecord; if (ShowMoreDetailsGrid != null) { await Task.Delay(100); // 使用延遲,讓 Header 的資料綁定可以成功 ShowMoreDetailsGrid.RefreshGrid(); } #endregion } }