Exemple #1
0
        public void Generate()
        {
            StringWriter outStream     = new StringWriter();
            string       tempDirectory = $"temp/{rnd.Next()}-{rnd.Next()}";

            Directory.CreateDirectory(tempDirectory);
            XMLGenerator generator = new XMLGenerator(outStream, tempDirectory);

            bool loaded = true;

            loaded = loaded && generator.LoadOutagesFromCSV(OutagesCSV);
            loaded = loaded && generator.LoadCriticalBranchesFromCSV(CriticalBranchesCSV);

            if (loaded)
            {
                generator.DontAsk();
                generator.SetSettings(Settings);
                if (generator.Generate())
                {
                    if (!IncludeXSD)
                    {
                        //Remove XSD files
                        string[] xsdFiles = Directory.GetFiles(tempDirectory, "*.xsd");
                        foreach (var file in xsdFiles)
                        {
                            File.Delete(file);
                        }
                    }
                    OutputFile = $"{tempDirectory}.zip";
                    ZipFile.CreateFromDirectory(tempDirectory, _OutputFile);
                }
            }
            Directory.Delete(tempDirectory, true);
            ResultSummary = generator.Summary;
            if (File.Exists(OutagesCSV))
            {
                File.Delete(OutagesCSV);
            }
            if (File.Exists(CriticalBranchesCSV))
            {
                File.Delete(CriticalBranchesCSV);
            }

            Output = outStream.ToString();

            // Clear old outputs
            ClearTempFolder();
        }