public void ExportChromatograms(string chromatogramsFile, bool precursors, bool products, bool basePeaks, bool tics) { _out.WriteLine(Resources.CommandLine_ExportChromatograms_Exporting_chromatograms_file__0____, chromatogramsFile); var chromExtractors = new List<ChromExtractor>(); if (tics) chromExtractors.Add(ChromExtractor.summed); if (basePeaks) chromExtractors.Add(ChromExtractor.base_peak); var chromSources = new List<ChromSource>(); if (precursors) chromSources.Add(ChromSource.ms1); if (products) chromSources.Add(ChromSource.fragment); if (chromExtractors.Count == 0 && chromSources.Count == 0) { _out.WriteLine(Resources.CommandLine_ExportChromatograms_Error__At_least_one_chromatogram_type_must_be_selected); return; } var filesToExport = Document.Settings.HasResults ? Document.Settings.MeasuredResults.MSDataFilePaths.Select(f => f.GetFileName()).ToList() : new List<string>(); if (filesToExport.Count == 0) { _out.WriteLine(Resources.CommandLine_ExportChromatograms_Error__The_document_must_have_imported_results); return; } try { var chromExporter = new ChromatogramExporter(Document); using (var saver = new FileSaver(chromatogramsFile)) using (var writer = new StreamWriter(saver.SafeName)) { var status = new ProgressStatus(string.Empty); IProgressMonitor broker = new CommandProgressMonitor(_out, status); chromExporter.Export(writer, broker, filesToExport, LocalizationHelper.CurrentCulture, chromExtractors, chromSources); writer.Close(); broker.UpdateProgress(status.Complete()); saver.Commit(); _out.WriteLine(Resources.CommandLine_ExportChromatograms_Chromatograms_file__0__exported_successfully_, chromatogramsFile); } } catch (Exception x) { _out.WriteLine(Resources.CommandLine_ExportChromatograms_Error__Failure_attempting_to_save_chromatograms_file__0_, chromatogramsFile); _out.WriteLine(x.Message); } }
private void ExportLiveReport(string reportName, string reportFile, char reportColSeparator, bool reportInvariant) { var viewContext = DocumentGridViewContext.CreateDocumentGridViewContext(_doc, reportInvariant ? DataSchemaLocalizer.INVARIANT : SkylineDataSchema.GetLocalizedSchemaLocalizer()); var viewInfo = viewContext.GetViewInfo(PersistedViews.MainGroup.Id.ViewName(reportName)); if (null == viewInfo) { _out.WriteLine(Resources.CommandLine_ExportLiveReport_Error__The_report__0__does_not_exist__If_it_has_spaces_in_its_name__use__double_quotes__around_the_entire_list_of_command_parameters_, reportName); return; } _out.WriteLine(Resources.CommandLine_ExportLiveReport_Exporting_report__0____, reportName); try { using (var saver = new FileSaver(reportFile)) { if (!saver.CanSave()) { _out.WriteLine(Resources.CommandLine_ExportLiveReport_Error__The_report__0__could_not_be_saved_to__1__, reportName, reportFile); _out.WriteLine(Resources.CommandLine_ExportLiveReport_Check_to_make_sure_it_is_not_read_only_); } var status = new ProgressStatus(string.Empty); IProgressMonitor broker = new CommandProgressMonitor(_out, status); using (var writer = new StreamWriter(saver.SafeName)) { viewContext.Export(broker, ref status, viewInfo, writer, new DsvWriter(reportInvariant ? CultureInfo.InvariantCulture : LocalizationHelper.CurrentCulture, reportColSeparator)); } broker.UpdateProgress(status.Complete()); saver.Commit(); _out.WriteLine(Resources.CommandLine_ExportLiveReport_Report__0__exported_successfully_to__1__, reportName, reportFile); } } catch (Exception x) { _out.WriteLine(Resources.CommandLine_ExportLiveReport_Error__Failure_attempting_to_save__0__report_to__1__, reportName, reportFile); _out.WriteLine(x.Message); } }