/// <summary> /// Generates the output data. /// </summary> /// <param name="generatorReport">The generator report.</param> /// <returns>The generated output data.</returns> private GenerationOutput CreateGenerationOutput(GenerationReport generatorReport) { var generationOutput = new GenerationOutput(); generationOutput.Totals = this.GetTotals(generatorReport).ToArray(); generationOutput.MaxEmissionGenerators = this.GetEmissionData(generatorReport).ToArray(); generationOutput.ActualHeatRates = this.GetActualHeatRates(generatorReport).ToArray(); return(generationOutput); }
/// <summary> /// Writes the generated output to a file named after the input file name. /// </summary> /// <param name="fileName">The input files name.</param> /// <param name="generationOutput">The output data.</param> private void CreateOutputFile(string fileName, GenerationOutput generationOutput) { if (fileName.Contains(this.ConfigurationData.InputFolder) && fileName.ToLower().Contains(".xml")) { fileName = new FileInfo(fileName).Name.Replace(".xml", ""); } lock (this.LockObject) { using (var stream = File.Create(this.ConfigurationData.OutputFolder + fileName + ".xml")) { using (var streamWriter = new StreamWriter(stream)) { var content = XmlSerializerManager.SerializeToXmlString(generationOutput, Encoding.UTF8); streamWriter.Write(content); } } this.ItemsInProcess.Remove(fileName); } }