Example #1
0
        protected static void WriteDiagramsToDisk(IEnumerable <ImageFileGenerationModel> models, string format, string output)
        {
            if (string.IsNullOrEmpty(output))
            {
                output = Directory.GetCurrentDirectory();
            }

            DirectoryInfo outputDirectory = new DirectoryInfo(output);

            if (!outputDirectory.Exists)
            {
                outputDirectory.Create();
            }

            foreach (var model in models)
            {
                System.Console.WriteLine($" * generating diagram {model.DiagramName}...");

                string path = Path.Combine(outputDirectory.FullName, $"{model.DiagramName}.{format}");

                if (format.ToLower() == "nplant")
                {
                    File.WriteAllText(path, model.DiagramText);
                }
                else
                {
                    NPlantImage nplantImage = new NPlantImage(model.JavaPath, model.Invocation);
                    nplantImage.Save(model.DiagramText, model.DiagramName, path, format);
                }

                System.Console.WriteLine($" * diagram '{model.DiagramName}' saved to '{path}'");
            }
        }