From a9fd07a0e93ab1030a203281debb7543602d6ebf Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Tue, 20 Jun 2017 08:34:57 +0200 Subject: [PATCH] add parameter to add version information to vsum and vmod files --- .../VectoCore/OutputData/FileIO/FileOutputWriter.cs | 4 ++-- VectoCore/VectoCore/Utils/VectoCSVFile.cs | 13 ++++++++++--- VectoCore/VectoCoreTest/FileIO/VectoCSVFileTest.cs | 10 +++++----- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs index 19e3a3385e..738ddb1d5a 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs @@ -79,7 +79,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO public void WriteSumData(DataTable data) { - VectoCSVFile.Write(SumFileName, data); + VectoCSVFile.Write(SumFileName, data, true); } public string GetModDataFileName(string runName, string cycleName, string runSuffix) @@ -96,7 +96,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO public void WriteModData(string runName, string cycleName, string runSuffix, DataTable modData) { - VectoCSVFile.Write(GetModDataFileName(runName, cycleName, runSuffix), modData); + VectoCSVFile.Write(GetModDataFileName(runName, cycleName, runSuffix), modData, true); } public Stream WriteStream(ReportType type) diff --git a/VectoCore/VectoCore/Utils/VectoCSVFile.cs b/VectoCore/VectoCore/Utils/VectoCSVFile.cs index 89997c601c..4074edab9e 100644 --- a/VectoCore/VectoCore/Utils/VectoCSVFile.cs +++ b/VectoCore/VectoCore/Utils/VectoCSVFile.cs @@ -35,6 +35,7 @@ using System.Data; using System.Globalization; using System.IO; using System.Linq; +using System.Reflection; using System.Text; using System.Text.RegularExpressions; using TUGraz.VectoCommon.Exceptions; @@ -178,10 +179,11 @@ namespace TUGraz.VectoCore.Utils /// </summary> /// <param name="fileName">Path to the file.</param> /// <param name="table">The Datatable.</param> - public static void Write(string fileName, DataTable table) + /// <param name="addVersionHeader"></param> + public static void Write(string fileName, DataTable table, bool addVersionHeader = false) { using (var sw = new StreamWriter(new FileStream(fileName, FileMode.Create), Encoding.UTF8)) { - Write(sw, table); + Write(sw, table, addVersionHeader); } } @@ -192,11 +194,16 @@ namespace TUGraz.VectoCore.Utils /// </summary> /// <param name="writer"></param> /// <param name="table"></param> - public static void Write(StreamWriter writer, DataTable table) + /// <param name="addVersionHeader"></param> + public static void Write(StreamWriter writer, DataTable table, bool addVersionHeader = false) { if (writer == null) { return; } + if (addVersionHeader) { + var vectodll = AssemblyName.GetAssemblyName("VectoCore.dll"); + writer.WriteLine("# VECTO {0} - {1}", vectodll.Version, DateTime.Now.ToString("dd.MM.yyyy HH:mm")); + } var header = table.Columns.Cast<DataColumn>().Select(col => col.Caption ?? col.ColumnName); writer.WriteLine(string.Join(Delimiter, header)); diff --git a/VectoCore/VectoCoreTest/FileIO/VectoCSVFileTest.cs b/VectoCore/VectoCoreTest/FileIO/VectoCSVFileTest.cs index 77d4ccd1f3..c23c4e77f8 100644 --- a/VectoCore/VectoCoreTest/FileIO/VectoCSVFileTest.cs +++ b/VectoCore/VectoCoreTest/FileIO/VectoCSVFileTest.cs @@ -152,11 +152,11 @@ namespace TUGraz.VectoCore.Tests.FileIO { var stream = @"#a,b,c #21,22,23 - #674,95,96 - a,b,c - #9,8,7 - 1,2,3 - 4,5,6".ToStream(); + #674,95,96 + a,b,c + #9,8,7 + 1,2,3 + 4,5,6".ToStream(); var table = VectoCSVFile.ReadStream(stream); CollectionAssert.AreEqual(new[] { "a", "b", "c" }, table.Columns.Cast<DataColumn>().Select(c => c.ColumnName)); -- GitLab