private void activeLoansToolStripMenuItem_Click(object sender, EventArgs e) { try { if (ReportService.GetInstance().CanLoadDocument()) { var reportName = (sender as ToolStripMenuItem).Tag.ToString(); var report = ReportService.GetInstance().GetReportByName(reportName); var reportParamsForm = new ReportParamsForm(report.Params, report.Title); if (reportParamsForm.ShowDialog() != DialogResult.OK) { return; } var progressForm = new ReportLoadingProgressForm(); progressForm.Show(); var bw = new BackgroundWorker { WorkerReportsProgress = true, WorkerSupportsCancellation = true, }; bw.DoWork += (obj, args) => { ReportService.GetInstance().LoadReport(report); bw.ReportProgress(100); }; bw.RunWorkerCompleted += (obj, args) => { progressForm.Close(); if (args.Error != null) { Fail(args.Error.Message); return; } if (args.Cancelled) { return; } report.OpenCount++; report.SaveOpenCount(); var reportViewer = new ReportViewerForm(report); reportViewer.Show(); }; bw.RunWorkerAsync(report); } else { var translationService = new TranslationService(); MessageBox.Show(translationService.Translate("Crystal reports haven't been installed.")); } } catch (Exception ex) { Fail(ex.Message); } }
private void OnReportsClick(object sender, LinkLabelLinkClickedEventArgs e) { try { var reportName = (sender as LinkLabel).Tag.ToString(); var report = ReportService.GetInstance().GetReportByName(reportName); var reportParamsForm = new ReportParamsForm(report.Params, report.Title); if (reportParamsForm.ShowDialog() != DialogResult.OK) { return; } var progressForm = new ReportLoadingProgressForm(); progressForm.Show(); var bw = new BackgroundWorker { WorkerReportsProgress = true, WorkerSupportsCancellation = true, }; bw.DoWork += (obj, args) => { ReportService.GetInstance().LoadReport(report); bw.ReportProgress(100); }; bw.RunWorkerCompleted += (obj, args) => { progressForm.Close(); if (args.Error != null) { Fail(args.Error.Message); return; } if (args.Cancelled) { return; } report.OpenCount++; report.SaveOpenCount(); var reportViewer = new ReportViewerForm(report); reportViewer.Show(); }; bw.RunWorkerAsync(report); } catch (Exception ex) { Fail(ex.Message); } }