From 6f3f7e0bd89588d7c1e6b4ddcf8ec8f16e88c095 Mon Sep 17 00:00:00 2001 From: Dimitar Byalkov Date: Mon, 12 Jul 2021 12:58:35 +0300 Subject: [PATCH] Bugfixes --- .../Controller/RecordController.cs | 21 ++++++++++++------- .../BoerseDataConvert/Model/Tag.cs | 3 ++- .../BoerseDataConvert/Model/TagsTable.cs | 2 +- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/BoerseDataConvert/BoerseDataConvert/Controller/RecordController.cs b/BoerseDataConvert/BoerseDataConvert/Controller/RecordController.cs index 3b858fd..7ad3e45 100644 --- a/BoerseDataConvert/BoerseDataConvert/Controller/RecordController.cs +++ b/BoerseDataConvert/BoerseDataConvert/Controller/RecordController.cs @@ -24,10 +24,10 @@ namespace BoerseDataConvert tagsTable = new TagsTable(tags); XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; - XmlWriter writer = XmlWriter.Create($@"{address}/{cur_fileName}.xml", settings); + writer = XmlWriter.Create($@"{address}/{cur_fileName}.xml", settings); writer.WriteStartDocument(); writer.WriteStartElement("table"); - writer.WriteAttributeString("name", null, "file"); + writer.WriteAttributeString("name", null, cur_fileName); } public static void NextFile(string fileName) { @@ -36,10 +36,13 @@ namespace BoerseDataConvert writer.Close(); cur_fileName = fileName.Split('.').First(); count = 1; - cur_fileName = fileName; + Console.WriteLine(cur_fileName + " start"); + XmlWriterSettings settings = new XmlWriterSettings(); + settings.Indent = true; + writer = XmlWriter.Create($@"{address}/{cur_fileName}.xml", settings); writer.WriteStartDocument(); writer.WriteStartElement("table"); - writer.WriteAttributeString("name", null, "file"); + writer.WriteAttributeString("name", null, cur_fileName); } public void WriteXmlRecord (Record record) { @@ -70,11 +73,10 @@ namespace BoerseDataConvert } private string CheckTagValue(int tag, string value) { - if(tagsTable.CheckInvalidTag(tag)) throw new ArgumentException($"WARN: Invalid tag \"{tag}\", {cur_fileName} line {count + 1}"); string tagname = tagsTable.GetTagName(tag); if (value == "") return tagname; - if (value != "NULL" && tagsTable.HaveValueRanges(tag))//Checks if the tag have not a value ranges + if (value != "NULL" && !tagsTable.HaveValueRanges(tag)) //Checks if the tag have not a value ranges { if (tagsTable.IsString(tag))//Checks if value type is string { @@ -92,13 +94,16 @@ namespace BoerseDataConvert } catch (FormatException) { - throw new ArgumentException($"WARN: Value is not in a valid format for number \"{tag}\", \"{value}\", {cur_fileName} line {count + 1}"); + throw new ArgumentException($"WARN: Value is not in a valid format for number \"{tag}\", \"{value}\", {cur_fileName} line {count + 1}"); } } } else//Checks if the tag have a value ranges { - if(!tagsTable.CheckValidValue(tag,value))throw new ArgumentException($"WARN: Value not in range \"{tag}\", \"{value}\", {cur_fileName} line {count + 1}"); + if (!tagsTable.CheckValidValue(tag, value)) + { + throw new ArgumentException($"WARN: Value not in range \"{tag}\", \"{value}\", {cur_fileName} line {count + 1}"); + } } return tagname; } diff --git a/BoerseDataConvert/BoerseDataConvert/Model/Tag.cs b/BoerseDataConvert/BoerseDataConvert/Model/Tag.cs index 8883ad9..7741485 100644 --- a/BoerseDataConvert/BoerseDataConvert/Model/Tag.cs +++ b/BoerseDataConvert/BoerseDataConvert/Model/Tag.cs @@ -27,6 +27,7 @@ namespace BoerseDataConvert if (input.Length == 3) { valueRanges = input[2].Split('#').ToArray(); + haveValueRanges = true; } else haveValueRanges = false; } @@ -48,7 +49,7 @@ namespace BoerseDataConvert } public bool ValidValue(string value) { - foreach (string validValue in valueRanges) + foreach (string validValue in valueRanges) { if (validValue == value) { diff --git a/BoerseDataConvert/BoerseDataConvert/Model/TagsTable.cs b/BoerseDataConvert/BoerseDataConvert/Model/TagsTable.cs index affddc7..f57ec74 100644 --- a/BoerseDataConvert/BoerseDataConvert/Model/TagsTable.cs +++ b/BoerseDataConvert/BoerseDataConvert/Model/TagsTable.cs @@ -14,7 +14,7 @@ namespace BoerseDataConvert public TagsTable(string tags) { reader = new StreamReader(tags); - table = new Tag[int.Parse(reader.ReadLine())]; + table = new Tag[int.Parse(reader.ReadLine()) + 1]; LoadInfo(); } private void LoadInfo()