public void Execute(ISisulizerFile sisulizerFile, CommonExportOptions exportOptions) { if (exportOptions is XmlExportOptions xmlExportOptions) { File.WriteAllText(xmlExportOptions.OutputFilename, this.ToXml(sisulizerFile)); } }
public void Execute(ISisulizerFile sisulizerFile, CommonExportOptions exportOptions) { if (exportOptions is CsvExportOptions csvExportOptions) { File.WriteAllText(csvExportOptions.OutputFilename, this.ToCsv(sisulizerFile)); } }
// ToDo: optional mittels Parameter das Herunterbrechen in einzelne Projekte unterdrücken (Ausgabe nur für die gesamte Datei) // ToDo: optional mittels Parameter die Ausgabe nur für bestimmte Sprachen beschränken static void Main(string[] args) { var invokedVerb = string.Empty; CommonExportOptions invokedVerbOptions = null; var options = new Options(); if (Parser.Default.ParseArguments( args, options, (verb, verbOptions) => { invokedVerb = verb; invokedVerbOptions = verbOptions as CommonExportOptions; })) { } else { Environment.ExitCode = Parser.DefaultExitCodeFail; return; } var filename = invokedVerbOptions.SisulizerProjectFileName; if (!File.Exists(filename)) { Console.WriteLine($"Specified filename [{filename}] not found."); Environment.ExitCode = Parser.DefaultExitCodeFail; return; } var sisulizerFile = new SisulizerFile(filename, invokedVerbOptions); if (invokedVerbOptions.Verbose) { Console.WriteLine($"Total projects in file: {sisulizerFile.Projects.Count()}"); } foreach (var exportPlugIn in PlugInManager.Instance.ExportPlugIns.Where(x => string.Equals(x.PlugInId, invokedVerb, StringComparison.OrdinalIgnoreCase))) { exportPlugIn.Execute(sisulizerFile, invokedVerbOptions); } }
public SisulizerFile(Stream fileStream, CommonExportOptions options) { this.options = options; this.ParseStream(fileStream); }
public SisulizerFile(string fileName, CommonExportOptions options) { this.FileName = fileName; this.options = options; this.ParseFile(); }