示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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);
            }
        }