private void CallbackSaveUriAnalysisCsvReport( object sender, EventArgs e, MacroscopeCsvUriReport.OutputWorksheet SelectedOutputWorksheet, string OutputFilename ) { SaveFileDialog Dialog = new SaveFileDialog(); Dialog.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*"; Dialog.FilterIndex = 2; Dialog.RestoreDirectory = true; Dialog.DefaultExt = "csv"; Dialog.AddExtension = true; Dialog.FileName = OutputFilename; this.Enabled = false; if (Dialog.ShowDialog() == DialogResult.OK) { string Path = Dialog.FileName; MacroscopeCsvUriReport CsvReport = new MacroscopeCsvUriReport(); try { Cursor.Current = Cursors.WaitCursor; CsvReport.WriteCsv( JobMaster: this.JobMaster, SelectedOutputWorksheet: SelectedOutputWorksheet, OutputFilename: Path ); Cursor.Current = Cursors.Default; } catch (MacroscopeSaveCsvFileException ex) { this.DialogueBoxError("Error saving URI Analysis CSV Report", ex.Message); } catch (Exception ex) { this.DialogueBoxError("Error saving URI Analysis CSV Report", ex.Message); } finally { Cursor.Current = Cursors.Default; } } if (Dialog != null) { Dialog.Dispose(); } this.Enabled = true; }
/**************************************************************************/ public void WriteCsv( MacroscopeJobMaster JobMaster, MacroscopeCsvUriReport.OutputWorksheet SelectedOutputWorksheet, string OutputFilename ) { try { using (StreamWriter writer = File.CreateText(OutputFilename)) { CsvWriter ws = new CsvWriter(writer); switch (SelectedOutputWorksheet) { case MacroscopeCsvUriReport.OutputWorksheet.LINKS: this.BuildWorksheetPageLinks(JobMaster, ws); break; case MacroscopeCsvUriReport.OutputWorksheet.HYPERLINKS: this.BuildWorksheetPageHyperlinks(JobMaster, ws); break; case MacroscopeCsvUriReport.OutputWorksheet.URIS: this.BuildWorksheetPageUriAnalysis(JobMaster, ws); break; case MacroscopeCsvUriReport.OutputWorksheet.ORPHANS: this.BuildWorksheetPageOrphanedPages(JobMaster, ws); break; default: break; } } } catch (CsvHelperException) { MacroscopeSaveCsvFileException CannotSaveCsvFileException; CannotSaveCsvFileException = new MacroscopeSaveCsvFileException( string.Format("Cannot write to CSV file at {0}", OutputFilename) ); throw CannotSaveCsvFileException; } catch (IOException) { MacroscopeSaveCsvFileException CannotSaveCsvFileException; CannotSaveCsvFileException = new MacroscopeSaveCsvFileException( string.Format("Cannot write to CSV file at {0}", OutputFilename) ); throw CannotSaveCsvFileException; } }