private void BackAuthDoWork(object sender, DoWorkEventArgs e) { try { Loader = this.ShowLoader(); UserDataContract user = UsersService.GetUserByLogin(LoginTE.Text).Result; if (user.IsNull()) { throw new Exception( "Пользователь не найден в БД." + Environment.NewLine + "Проверьте данные и повторите попытку."); } if (!user.Password.Equals(PasswordTE.Text)) { throw new Exception( "Введенный пароль не совпадает с паролем из БД." + Environment.NewLine + "Проверьте данные и повторите попытку."); } memory.StoreData(mapper.Map <UserDataContract, UserModel>(user), "CurrentUser"); AuthDialogResult = true; } catch (Exception ex) { message.ShowInfo(ex.Message); } finally { this.HideLoader(Loader); } }
private async Task BindChartData() { try { _handle = OverlayScreenForm.ShowProgressPanel(this); #region 饼状图 var data = await _api.GetBookChartByCategory(); Ct_BookCategorySum.DataSource = data; var series = Ct_BookCategorySum.Series[0]; series.ValueDataMembers[0] = "Number"; series.ArgumentDataMember = "CategoryName"; var label = (PieSeriesLabel)series.Label; label.TextPattern = "{A}: {VP:P0}"; var title = new ChartTitle { Text = @"馆藏图书分类汇总", Alignment = StringAlignment.Center }; Ct_BookCategorySum.Titles.Add(title); #endregion #region 柱状图 var borrowCharts = await _api.GetBorrowByDayChart(); Ct_Bar.DataSource = borrowCharts; var barSeries = Ct_Bar.Series[0]; barSeries.ValueDataMembers[0] = "Number"; barSeries.ArgumentDataMember = "CreateDate"; var barLabel = (BarSeriesLabel)barSeries.Label; barLabel.TextPattern = "{A}: {V}"; var barTitle = new ChartTitle { Text = @"近一周借阅统计", Alignment = StringAlignment.Center }; Ct_Bar.Titles.Add(barTitle); #endregion #region 数据合计展示 var booksTotal = await new BookApi().GetBookTotal(); var borrowsTotal = await new BorrowApi().GetBorrowTotal(); var studentsTotal = await new StudentApi().GetStudentTotal(); var employeesTotal = await new EmployeeApi().GetEmployeeTotal(); var reservationTotal = await new ReservationApi().GetReservationTotal(); Tbi_Books.Elements[1].Text = booksTotal.ToString(); Tbi_Borrows.Elements[1].Text = borrowsTotal.ToString(); Tbi_Employees.Elements[1].Text = employeesTotal.ToString(); Tbi_Students.Elements[1].Text = studentsTotal.ToString(); Tbi_Reservations.Elements[1].Text = reservationTotal.ToString(); #endregion OverlayScreenForm.CloseProgressPanel(_handle); } catch (Exception e) { OverlayScreenForm.CloseProgressPanel(_handle); PopupProvider.Error("获取图表数据或合计数据异常!", e); } }
private async void Ribe_Return_ButtonClick(object sender, ButtonPressedEventArgs e) { try { if (!Gv_Borrows.GetFocusedRowCellDisplayText("ReturnState").Equals("未归还")) { PopupProvider.Warning("该书已归还!"); return; } var dialogResult = XtraMessageBox.Show("确认归还?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult != DialogResult.Yes) { return; } _handle = OverlayScreenForm.ShowProgressPanel(this); var id = Gv_Borrows.GetFocusedRowCellDisplayText("Id"); var result = await _borrowApi.ReturnBook(id); OverlayScreenForm.CloseProgressPanel(_handle); if (result.ResultCode != 1) { PopupProvider.Warning(result.ResultMessage); } PopupProvider.Success(result.ResultMessage); await BindData(); } catch (Exception exception) { OverlayScreenForm.CloseProgressPanel(_handle); PopupProvider.Error(exception.Message, exception); } }
private void SwitchTabButton(string Name, string Header) { Loader = this.ShowLoader(); if (ContentTabControl.HasPage(Name)) { ContentTabControl.SetPageByName(Name); } else { ContentTabControl.AddAndSelectTab(Name, Header); } TabPage page = ContentTabControl.GetPageByName(Name); if (page.Controls.Count.Equals(0)) { page.Controls.Add(GetControlByName(Name)); } foreach (Control item in page.Controls) { item.Size = page.Size; } this.HideLoader(Loader); LeftDockPanel.HideImmediately(); }
private async void Sb_Query_Click(object sender, EventArgs e) { try { _handle = OverlayScreenForm.ShowProgressPanel(this); var dic = new Dictionary <string, object>() { { "CreateTime", $"{De_Begin.DateTime}" }, { "BookName", Te_BookName.Text } }; var data = await _api.GetBooks(dic); foreach (var book in data) { book.Photo = Image.FromFile(book.BookPhoto); } Gc_Data.DataSource = data; } catch (Exception ex) { PopupProvider.Error("获取数据异常!", ex); } finally { OverlayScreenForm.CloseProgressPanel(_handle); } }
private void ShowWaitOverlay() { if (_overlayHandle == null) { _overlayHandle = SplashScreenManager.ShowOverlayForm(this); } }
void CloseProgressPanel(IOverlaySplashScreenHandle handle) { if (handle != null) { SplashScreenManager.CloseOverlayForm(handle); } }
private void CloseWaitOverlay() { if (_overlayHandle != null) { SplashScreenManager.CloseOverlayForm(_overlayHandle); _overlayHandle = null; } }
public void CloseOverlayForm(IOverlaySplashScreenHandle handle) { if (handle != null) { windowCompositePainter = null; SplashScreenManager.CloseOverlayForm(handle); } }
private async void showOverlayButton_Click(object sender, EventArgs e) { if (overlayHandle == null) { overlayTextPainter = new OverlayTextPainter("Starting ..."); overlayHandle = SplashScreenManager.ShowOverlayForm(grid, customPainter: overlayTextPainter); await BackgroundTask(); } }
/// <inheritdoc /> public void ShowIndicator() { Invoke(new MethodInvoker(delegate() { if (handle == null) { CreateHandle(); } handle = SplashScreenManager.ShowOverlayForm(this); })); }
public void ShowProgressPanel() { try { OverlayWindowOptions options = new OverlayWindowOptions(true, true, Color.GhostWhite, Color.Black, 0.7); handle = SplashScreenManager.ShowOverlayForm(this, options); } catch { } }
private void hideOverlayButton_Click(object sender, EventArgs e) { if (overlayHandle != null) { cancellationTokenSource.Cancel(); cancellationTokenSource.Dispose(); cancellationTokenSource = null; overlayHandle.Close(); overlayHandle.Dispose(); overlayHandle = null; } }
private void biSimulation_ItemClick(object sender, ItemClickEventArgs e) { StrategyBase strategy = (StrategyBase)this.gridView1.GetFocusedRow(); if (strategy == null) { XtraMessageBox.Show("No strategy selected."); return; } if (!strategy.SupportSimulation) { XtraMessageBox.Show("This strategy does not support simulation."); return; } StrategiesManager manager = new StrategiesManager(); StrategyBase cloned = strategy.Clone(); cloned.DemoMode = true; manager.Strategies.Add(cloned); this.siStatus.Caption = "<b>Loading data from exchanges...</b>"; IOverlaySplashScreenHandle handle = SplashScreenManager.ShowOverlayForm(this); Application.DoEvents(); manager.Initialize(new SimulationStrategyDataProvider()); if (!manager.Start()) { XtraMessageBox.Show("Error starting simulation! Please check log messages"); return; } this.siStatus.Caption = "<b>Running simulation...</b>"; Application.DoEvents(); Stopwatch timer = new Stopwatch(); timer.Start(); int elapsedSeconds = 0; while (manager.Running) { if (timer.ElapsedMilliseconds / 1000 > elapsedSeconds) { elapsedSeconds = (int)(timer.ElapsedMilliseconds / 1000); this.siStatus.Caption = string.Format("<b>Running simulation... {0} sec</b>", elapsedSeconds); Application.DoEvents(); } } SplashScreenManager.CloseOverlayForm(handle); this.siStatus.Caption = "<b>Simulation done.</b>"; Application.DoEvents(); StrategyConfigurationManager.Default.ShowData(cloned); }
/// <summary> /// 绑定学生信息数据 /// </summary> /// <returns></returns> private async Task BindStudentInfo() { var studentNo = Te_StudentNo.Text; try { _handle = OverlayScreenForm.ShowProgressPanel(this); var students = await _api.GetStudents(new Dictionary <string, object> { { "StudentNo", studentNo } }); var student = students.FirstOrDefault(); if (student == null) { PopupProvider.Warning("未检索到信息!"); return; } Te_Age.EditValue = student.Age; Te_Name.Text = student.StudentName; Te_Class.Text = student.Class; Te_Sex.Text = student.Sex ? "女" : "男"; Te_Department.Text = student.DepartmentName; Te_Phone.EditValue = student.Contact; Te_Email.Text = student.Email; Te_StudentNo.EditValue = student.StudentNo; Te_StudentId.Text = student.Id.ToString(); #region 获取当前学生剩余可借阅数量 var num = await _borrowApi.GetBorrowInfoTotal(Te_StudentId.Text); if (num != -1) { Te_BooksNum.EditValue = 3 - num; } else { Te_BooksNum.EditValue = 3; } #endregion OverlayScreenForm.CloseProgressPanel(_handle); } catch (Exception e) { OverlayScreenForm.CloseProgressPanel(_handle); PopupProvider.Error("获取学生信息异常!", e); LogHelper.Error(e.ToString()); } }
public void CloseProgressPanel() { try { if (handle != null) { SplashScreenManager.CloseOverlayForm(handle); handle = null; } } catch { } }
private async void Sb_Save_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(Te_StudentId.Text)) { PopupProvider.Warning("请填写借阅人信息!"); return; } _handle = OverlayScreenForm.ShowProgressPanel(this); var infosTotal = Convert.ToInt32(Te_BooksNum.Text); if (infosTotal <= 0) { OverlayScreenForm.CloseProgressPanel(_handle); PopupProvider.Warning("已达最大可借阅数!"); return; } var books = (List <Borrow>)Gv_BookInfos.DataSource; var borrows = books.Select(m => new Borrow { StudentId = Guid.Parse(Te_StudentId.Text), AdminId = GlobalCache.Admin.Id, EndTime = DateTime.Now.AddDays(21), BackTime = DateTime.MaxValue, BookId = m.BookId }).ToList(); var res = await _borrowApi.CreateBorrows(borrows); if (res.ResultCode != 1) { OverlayScreenForm.CloseProgressPanel(_handle); PopupProvider.Warning(res.ResultMessage); return; } OverlayScreenForm.CloseProgressPanel(_handle); Gc_BookInfos.DataSource = new List <Borrow>(); Clear(3); Te_BooksNum.Text = string.Empty; Te_StudentId.Text = string.Empty; PopupProvider.Success(res.ResultMessage); } catch (Exception exception) { OverlayScreenForm.CloseProgressPanel(_handle); PopupProvider.Error("操作异常!", exception); } }
async void OnRunTaskItemClick(object sender, ItemClickEventArgs e) { biRunTask.Enabled = false; string taskResult; IOverlaySplashScreenHandle overlayHandle = SplashScreenManager.ShowOverlayForm(contentPanel, customPainter: new OverlayWindowCompositePainter(overlayLabel, overlayButton)); try { taskResult = await RunTask(); } finally { SplashScreenManager.CloseOverlayForm(overlayHandle); biRunTask.Enabled = true; } XtraMessageBox.Show(this, taskResult, "Task Result"); }
private async Task RefreshDataSource() { IOverlaySplashScreenHandle overlayHandle = null; tokenSource = new CancellationTokenSource(); cancellationToken = tokenSource.Token; SetOverlayLabel("Loading test suite data ..."); try { overlayHandle = _overlayFormManager.ShowOverlayForm(this, OnCancelButtonClick); var newDataSource = await Task.Run(() => { return(GetNewDataSource(cancellationToken, new Progress <string>(SetOverlayLabel))); }, cancellationToken); if (newDataSource == null) { _messageBoxProvider.ShowInformation(this, $"Test plan / test suite with ID {GetTestSuiteID()} was not found", "No data found"); return; } _testPlanForReport = newDataSource; treeList.DataSource = _testPlanForReport; treeList.ExpandToLevel(0); } catch (OperationCanceledException) { _overlayFormManager.CloseOverlayForm(overlayHandle); _messageBoxProvider.ShowInformation(this, "Operation has been cancelled", "Operation cancelled"); return; } catch (Exception ex) { _overlayFormManager.CloseOverlayForm(overlayHandle); _messageBoxProvider.ShowErrorMessage(this, ex.Message, "Error"); return; } finally { _overlayFormManager.CloseOverlayForm(overlayHandle); tokenSource?.Dispose(); this.tokenSource = null; } }
public void ShowLoading() { bool useFadeIn = true; bool useFadeOut = true; Color backColor = Color.Black; Color foreColor = Color.Black; double opacity = 0.5; Image waitImage = Image.FromFile("../../Images/loading.png"); OverlayWindowOptions options = new OverlayWindowOptions( useFadeIn, useFadeOut, backColor, foreColor, opacity, waitImage); handle = ShowProgressPanel(options); }
private void btnSaveAsCMTX_ItemClick(object sender, ItemClickEventArgs e) { using (var dlg = new SaveFileDialog() { Filter = "e-Sword Commentary file (*.cmtx)|*.cmtx" }) { if (dlg.ShowDialog() == DialogResult.OK) { IOverlaySplashScreenHandle handle = null; try { handle = SplashScreenManager.ShowOverlayForm(this); new eSwordExportHelper().ExportCmtx(Commentary, dlg.FileName); } finally { SplashScreenManager.CloseOverlayForm(handle); } } } }
public async Task BindData() { try { _handle = OverlayScreenForm.ShowProgressPanel(this); var data = await _api.GetBooks(false); foreach (var book in data) { book.Photo = Image.FromFile(book.BookPhoto); } Gc_Data.DataSource = data; } catch (Exception ex) { PopupProvider.Error("获取数据异常!", ex); } finally { OverlayScreenForm.CloseProgressPanel(_handle); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Nbc_Menu_LinkClicked(object sender, NavBarLinkEventArgs e) { var formName = e.Link.Item.Tag.ToString(); XtraForm form; switch (formName) { case "101": form = new FrmBorrow(); GlobalCache.Type = typeof(FrmBorrow); #region Test //ribbon.Pages[0].Groups[0].ItemLinks.Add(new BarButtonItem() { //Caption = "test", ImageOptions = { Image = Image.FromFile(@"C:\Users\ASUS\Pictures\ICON\Exit.png") } //}); #endregion break; case "102": form = new FrmReservation(); GlobalCache.Type = typeof(FrmReservation); break; case "103": form = new FrmBorrowInfos(); GlobalCache.Type = typeof(FrmBorrowInfos); break; case "104": form = new FrmReservationInfos(); GlobalCache.Type = typeof(FrmReservationInfos); break; case "105": form = new FrmFinePayments(); GlobalCache.Type = typeof(FrmFinePayments); break; case "106": form = new FrmBooks(); GlobalCache.Type = typeof(FrmBooks); break; case "201": form = new FrmBooksInfo(); GlobalCache.Type = typeof(FrmBooksInfo); break; case "202": form = new FrmBooks(); GlobalCache.Type = typeof(FrmBooks); break; case "401": form = new FrmEmployees(); GlobalCache.Type = typeof(FrmEmployees); break; case "301": form = new FrmStudents(); GlobalCache.Type = typeof(FrmStudents); break; case "501": form = new FrmAdmins(); GlobalCache.Type = typeof(FrmAdmins); break; case "502": form = new FrmEmpower(); GlobalCache.Type = typeof(FrmEmpower); break; case "601": form = new FrmPublishingHouse(); GlobalCache.Type = typeof(FrmPublishingHouse); break; case "602": form = new FrmBookCategory(); GlobalCache.Type = typeof(FrmBookCategory); break; default: form = new XtraForm(); break; } if (CheckIsExist(form.Text)) { return; } form.MdiParent = this; _handle = OverlayScreenForm.ShowProgressPanel(this); form.Show(); OverlayScreenForm.CloseProgressPanel(_handle); }
public static void HideLoader(this Control handledControl, IOverlaySplashScreenHandle overlayHandle) => handledControl.Invoke((MethodInvoker) delegate { SplashScreenManager.CloseOverlayForm(overlayHandle); });
private void biSimulation_ItemClick(object sender, ItemClickEventArgs e) { Stopped = false; StrategyBase strategy = (StrategyBase)this.gridView1.GetFocusedRow(); if (strategy == null) { XtraMessageBox.Show("No strategy selected."); return; } if (!strategy.SupportSimulation) { XtraMessageBox.Show("This strategy does not support simulation."); return; } StrategiesManager manager = new StrategiesManager(); manager.FileName = "SimulationStrategiesManager.xml"; StrategyBase cloned = strategy.Clone(); cloned.DemoMode = true; manager.Strategies.Add(cloned); this.siStatus.Caption = "<b>Loading data from exchanges...</b>"; IOverlaySplashScreenHandle handle = SplashScreenManager.ShowOverlayForm(gridControl1); Application.DoEvents(); SimulationStrategyDataProvider dataProvider = new SimulationStrategyDataProvider(); dataProvider.DownloadProgressChanged += OnSimulationProviderDownloadProgressChanged; this.beSimulationProgress.EditValue = 0; this.beSimulationProgress.Visibility = BarItemVisibility.Always; manager.Initialize(dataProvider); dataProvider.DownloadProgressChanged -= OnSimulationProviderDownloadProgressChanged; if (!manager.Start()) { XtraMessageBox.Show("Error starting simulation! Please check log messages"); return; } this.beSimulationProgress.EditValue = 0; this.beSimulationProgress.Visibility = BarItemVisibility.Always; this.siStatus.Caption = "<b>Running simulation...</b>"; Application.DoEvents(); Stopwatch timer = new Stopwatch(); timer.Start(); int elapsedSeconds = 0; double progress = 0; while (manager.Running) { this.beSimulationProgress.EditValue = (int)(dataProvider.SimulationProgress * this.repositoryItemProgressBar1.Maximum); if (timer.ElapsedMilliseconds / 1000 > elapsedSeconds) { elapsedSeconds = (int)(timer.ElapsedMilliseconds / 1000); this.siStatus.Caption = string.Format("<b>Running simulation... {0} sec</b>", elapsedSeconds); Application.DoEvents(); } if ((dataProvider.SimulationProgress - progress) >= 0.05) { progress = dataProvider.SimulationProgress; Application.DoEvents(); } } this.beSimulationProgress.Visibility = BarItemVisibility.Never; SplashScreenManager.CloseOverlayForm(handle); manager.Save(); this.siStatus.Caption = "<b>Simulation done.</b>"; Application.DoEvents(); //this.toastNotificationsManager1.ShowNotification("404ef86f-183c-4fea-960b-86f54e52ea76"); StrategyConfigurationManager.Default.ShowData(cloned); }
private void ImportWordFile(string filePath) { IOverlaySplashScreenHandle handle = null; try { handle = SplashScreenManager.ShowOverlayForm(this); using (var editor = new RichEditControl()) { editor.LoadDocument(filePath); var fileName = Path.GetFileNameWithoutExtension(filePath); var book = new XPQuery <Book>(uow).Where(x => x.Abbreviation == fileName).FirstOrDefault(); if (book == null) { XtraMessageBox.Show("File name not match!"); return; } var rangeStartIndex = -1; var rangeEndIndex = -1; var chapter = 0; var chapter2 = 0; var verseRanges = new List <VerseRange>(); for (int i = 0; i < 5; i++) { verseRanges.Add(new VerseRange() { VerseBegin = -1, VerseEnd = -1 }); } Commentary.Items.Where(x => x.Book == book.NumberOfBook).ToList().ForEach(x => { x.Delete(); }); uow.CommitChanges(); foreach (var par in editor.Document.Paragraphs) { var text = editor.Document.GetText(par.Range).Trim(); if (par.Style != null) { if (!String.IsNullOrEmpty(text) && par.Style.Name == "heading 1") { if (text.ToLower().StartsWith("wstęp ")) { rangeStartIndex = par.Range.Start.ToInt(); } else if (rangeStartIndex != -1 && (text.ToLower().StartsWith("list ") || text.ToLower().StartsWith("ewangelia ") || text.ToLower().StartsWith("dzieje "))) { rangeEndIndex = par.Range.Start.ToInt() - 1; Commentary.Items.Add(new CommentaryItem(uow) { Book = book.NumberOfBook, ChapterBegin = 0, ChapterEnd = 0, VerseBegin = 0, VerseEnd = 0, Comments = editor.Document.GetRtfText(editor.Document.CreateRange(rangeStartIndex, rangeEndIndex - rangeStartIndex)) }); rangeStartIndex = -1; rangeEndIndex = -1; } } else if (!String.IsNullOrEmpty(text) && par.Style.Name == "heading 2") { if (rangeStartIndex == -1) { par.Range.Start.ToInt(); } } else if (!String.IsNullOrEmpty(text) && par.Style.Name == "heading 3") { var patternBase = @"\((?<chapter>[0-9]+)(\,)?"; var patternRange = @"((?<verseBegin{0}>[0-9]+)([a-z])?(\-(?<verseEnd{0}>[0-9]+)([a-z])?)?(\.)?)"; var pattern = patternBase; for (int i = 0; i < 5; i++) { pattern += String.Format(patternRange, i); pattern += "?"; } pattern += @"\)"; if (text.Contains(";")) { pattern = @"\((?<chapter1>[0-9]+)\,(?<verse1>[0-9]+)\;(?<chapter2>[0-9]+)\,(?<verse2>[0-9]+)\)"; if (Regex.IsMatch(text, pattern)) { var m = Regex.Match(text, pattern); chapter = Convert.ToInt32(m.Groups["chapter1"].Value); chapter2 = Convert.ToInt32(m.Groups["chapter2"].Value); verseRanges[0].VerseBegin = Convert.ToInt32(m.Groups["verse1"].Value); verseRanges[0].VerseEnd = Convert.ToInt32(m.Groups["verse2"].Value); for (int i = 1; i < 5; i++) { verseRanges[i].VerseBegin = -1; verseRanges[i].VerseEnd = -1; } continue; } } if (Regex.IsMatch(text, pattern)) { rangeEndIndex = SavePrevious(editor, book, rangeStartIndex, rangeEndIndex, chapter, chapter2, ref verseRanges, par); var m = Regex.Match(text, pattern); chapter = Convert.ToInt32(m.Groups["chapter"].Value); chapter2 = Convert.ToInt32(m.Groups["chapter"].Value); for (int i = 0; i < 5; i++) { if (m.Groups[$"verseEnd{i}"] != null && m.Groups[$"verseEnd{i}"].Success) { verseRanges[i].VerseBegin = Convert.ToInt32(m.Groups[$"verseBegin{i}"].Value); verseRanges[i].VerseEnd = Convert.ToInt32(m.Groups[$"verseEnd{i}"].Value); } else if (m.Groups[$"verseBegin{i}"] != null && m.Groups[$"verseBegin{i}"].Success) { verseRanges[i].VerseBegin = Convert.ToInt32(m.Groups[$"verseBegin{i}"].Value); verseRanges[i].VerseEnd = Convert.ToInt32(m.Groups[$"verseBegin{i}"].Value); } else if (chapter != 0 && i == 0) { verseRanges[i].VerseBegin = 0; verseRanges[i].VerseEnd = 0; } else { verseRanges[i].VerseBegin = -1; verseRanges[i].VerseEnd = -1; } } rangeStartIndex = par.Range.Start.ToInt(); rangeEndIndex = -1; } else { if (rangeStartIndex == -1) { par.Range.Start.ToInt(); } } } } if (par == editor.Document.Paragraphs.Last()) { rangeEndIndex = SavePrevious(editor, book, rangeStartIndex, rangeEndIndex, chapter, chapter2, ref verseRanges, par); } } uow.CommitChanges(); Commentary = new XPQuery <Commentary>(uow).Where(x => x.Oid == Commentary.Oid).FirstOrDefault(); LoadBooks(); } } finally { SplashScreenManager.CloseOverlayForm(handle); } }
private async void GenerateReport_ItemClick(object sender, ItemClickEventArgs e) { FileInfo document = null; IOverlaySplashScreenHandle overlayHandle = null; tokenSource = new CancellationTokenSource(); cancellationToken = tokenSource.Token; try { var template = GetTemplateFileInfo(); //if(template == null) //{ // _messageBoxProvider.ShowInformation(this, "Template was not defined by user. Default template will be used.", "Custom template not defined"); //} overlayHandle = _overlayFormManager.ShowOverlayForm(this, OnCancelButtonClick); SetOverlayLabel("Loading data ..."); var builder = await Task.Run(() => _docXBuilderFactory.GetDocXBuilder(DocXBuilderType.DocX), cancellationToken); SetOverlayLabel("Generating report ..."); var progress = new Progress <string>(SetOverlayLabel); document = await Task.Run(() => builder.CreateDocument(template, GetDataSourceForReport(cancellationToken, progress), cancellationToken, progress), cancellationToken); } catch (OperationCanceledException) { _overlayFormManager.CloseOverlayForm(overlayHandle); _messageBoxProvider.ShowInformation(this, "Operation has been cancelled", "Operation cancelled"); return; } catch (Exception ex) { _overlayFormManager.CloseOverlayForm(overlayHandle); _messageBoxProvider.ShowErrorMessage(this, ex.Message, "Error"); return; } finally { _overlayFormManager.CloseOverlayForm(overlayHandle); if (tokenSource != null) { tokenSource.Dispose(); } this.tokenSource = null; } if (!document?.Exists ?? true) { _messageBoxProvider.ShowErrorMessage(this, "Document was not correctly created", "Error"); return; } var openFileResult = _messageBoxProvider.ShowQuestion(this, "Do you want to open document?", "Open document"); if (openFileResult == DialogResult.Yes) { Process.Start(document.FullName); } else if (openFileResult == DialogResult.No) { _messageBoxProvider.ShowInformation(this, $"File is saved on location: {document.FullName}", "File location"); } }
private async Task BindBookInfo() { try { var searchPara = Te_SearchPara.Text.Trim(); //获取模糊查询书籍信息 _handle = OverlayScreenForm.ShowProgressPanel(this); var bookInfos = await _bookInfoApi.GetBooksInfo(false); bookInfos = bookInfos .Where(m => m.Id.ToString().Contains(searchPara) || m.BookName.Contains(searchPara)).ToList(); OverlayScreenForm.CloseProgressPanel(_handle); if (bookInfos.Count == 0) { PopupProvider.Warning("未检索到信息!"); return; } //找到对应的书籍信息的已上架书籍 var books = new List <Book>(); foreach (var info in bookInfos) { books.AddRange(await _bookApi.GetBooks(new Dictionary <string, object> { { "BookInfoId", info.Id } })); } foreach (var item in books) { switch (item.BookState) { case 0: item.BookStateName = "正常"; break; case 1: item.BookStateName = "已借阅"; break; case 2: item.BookStateName = "已预约"; break; } } //如果存在多个数据,采用列表显示,操作员自行选择. if (books.Count > 1) { Gc_Books.DataSource = books; Gc_Books.Visible = true; Gv_Books.Focus(); return; } if (books.Count == 0) { PopupProvider.Warning("未找到可借阅的相应书籍!"); return; } //如果只有一条数据则进行数据赋值展示 var book = books.First(); var reservation = await _reservationApi.GetReservations(new Dictionary <string, object> { { "BookId", book.Id }, { "IsRemove", false }, { "StudentId", Te_StudentId.Text } }); if (reservation.Count <= 0 && book.BookStateName.Equals("已预约")) { PopupProvider.Warning($"{book.BookStateName}书籍不可借阅!"); return; } if (book.BookStateName.Equals("已借阅")) { PopupProvider.Warning($"{book.BookStateName}书籍不可借阅!"); return; } Te_BookName.Text = book.BookName; Te_Author.Text = book.Author; Te_ReleaseTime.EditValue = book.ReleaseDate; Te_PublishingHouse.Text = book.PublishingName; Te_Category.Text = book.CategoryName; Pe_BookPhoto.Image = Image.FromFile(book.BookPhoto); Te_BookId.Text = book.Id.ToString(); Te_ISBN.Text = book.ISBN; Te_ReleaseTime.Text = book.ReleaseDate.ToString("yyyy-MM-dd"); Te_Price.Text = book.Price.ToString("F"); } catch (Exception e) { PopupProvider.Error("获取数据信息异常!", e); } }