public ReportDialog(ProjectContainer project, ExperimentContainer experiment, ObservableCollection <ExperimentIndicatorContainer> expIndicatorList) { m_project = project; m_experiment = experiment; m_expIndicatorList = expIndicatorList; VM = new ViewModel_ReportDialog(); m_wgDB = new WaveguideDB(); m_reportWriter = new ReportWriter(m_project, m_experiment); InitializeComponent(); this.DataContext = VM; VM.Directory = GlobalVars.DefaultReportFileDirectory; VM.Filename = m_reportWriter.GetDefaultFilename(); WaveGuideRB.IsChecked = true; VM.ReportFormat = REPORT_FILEFORMAT.WAVEGUIDE; SetAnalysisList(); bool ok = m_reportWriter.SuccessfullyInitialized(); if (!ok) { string errMsg = m_reportWriter.GetLastErrorString(); System.Windows.MessageBox.Show("Error initializing the Report Writer: " + errMsg, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void WriteReportFilePB_Click(object sender, RoutedEventArgs e) { bool success = true; if (VM.WaveguideSelected) { success = m_reportWriter.VerifyDirectoryExists(VM.WaveguideDirectory); if (success) { success = m_reportWriter.WriteExperimentFile_WaveGuide(VM.WaveguideDirectory + "\\" + VM.WaveguideFilename, VM.AnalysisList); } } if (VM.ExcelSelected) { success = m_reportWriter.VerifyDirectoryExists(VM.ExcelDirectory); if (success) { List <string> fileNameList = m_reportWriter.GetFormattedStringList(VM.ExcelFilename, VM.AnalysisList); int i = 0; foreach (AnalysisContainer analysis in VM.AnalysisList) { string filename = ""; if (i + 1 > fileNameList.Count) { filename = "UnknownIndicator_" + i.ToString(); } else { filename = fileNameList.ElementAt(i); } success = m_reportWriter.WriteExperimentFile_Excel(VM.ExcelDirectory + "\\" + filename, analysis); if (!success) { break; } i++; } } } if (success) { Close(); } else { MessageBoxResult result = System.Windows.MessageBox.Show("Failed to write report: " + m_reportWriter.GetLastErrorString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void WriteReportFilePB_Click(object sender, RoutedEventArgs e) { bool success = true; List <AnalysisContainer> analysisList = new List <AnalysisContainer>(); foreach (AnalysisListItem aItem in VM.AnalysisList) { if (aItem.Selected) { AnalysisContainer analCont; success = m_wgDB.GetAnalysis(aItem.AnalysisID, out analCont); if (success && analCont != null) { analysisList.Add(analCont); } } } switch (VM.ReportFormat) { case REPORT_FILEFORMAT.WAVEGUIDE: m_reportWriter.SetFileType(REPORT_FILEFORMAT.WAVEGUIDE); success = m_reportWriter.WriteExperimentFile_WaveGuide(VM.Directory + "\\" + VM.Filename, analysisList); break; case REPORT_FILEFORMAT.EXCEL: m_reportWriter.SetFileType(REPORT_FILEFORMAT.EXCEL); int i = 1; foreach (AnalysisContainer analysis in analysisList) { string[] strs = VM.Filename.Split('.'); string filename = strs[0] + "_" + i.ToString() + "." + strs[1]; success = m_reportWriter.WriteExperimentFile_Excel(VM.Directory + "\\" + filename, analysis); if (!success) { break; } i++; } break; } if (success) { Close(); } else { MessageBoxResult result = System.Windows.MessageBox.Show("Failed to write report: " + m_reportWriter.GetLastErrorString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }