Files
DP44/Common/DTS.Common.Import/.svn/pristine/f3/f3b1b69dbeb9a632ca022e1c02ed34698930e098.svn-base

75 lines
2.9 KiB
Plaintext
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
using DTS.Common.Classes;
using DTS.Common.Enums.Sensors;
using DTS.Common.Import.Interfaces;
using Microsoft.VisualBasic.FileIO;
namespace DTS.Common.Import.Parsers.CSV
{
public class Version6CSVTestParser : IParseCSVTest
{
public int Version => 6;
public void ParseVersion(TextFieldParser parser, TestSetupImportData tsid)
{
var foundHeader = false;
string[] tokens = null;
while (!foundHeader && !parser.EndOfData)
{
tokens = parser.ReadFields();
if (null == tokens) { return; }
if (0 == tokens.Length || string.IsNullOrEmpty(tokens[0])) { continue; }
var field = CSVImportTags.GetTagForString(tokens[0]);
var version = CSVImportTags.GetVersionForTag(field);
if (version != 6) { return; } //no version 5 tokens in here ...
foundHeader = true;
}
while (!parser.EndOfData)
{
var tokens2 = parser.ReadFields();
if (null == tokens2 || 0 == tokens2.Length || string.IsNullOrWhiteSpace(tokens2[1]))
{
//we found a new line, we are done with this table
break;
}
var dasSerial = string.Empty;
for (var i = 0; i < tokens.Length && i < tokens2.Length; i++)
{
var field = CSVImportTags.GetTagForString(tokens[i]);
var val = tokens2[i];
switch (field)
{
case CSVImportTags.Tags.DASSerial:
dasSerial = val;
break;
case CSVImportTags.Tags.DASSampleRate:
{
if (int.TryParse(val, out var iTemp))
{
tsid.SampleRateForDAS[dasSerial] = iTemp;
}
}
break;
case CSVImportTags.Tags.PTPDomainId:
{
if (uint.TryParse(val, out var iTemp))
{
tsid.DomainIdForDAS[dasSerial] = iTemp;
}
}
break;
case CSVImportTags.Tags.ClockMaster:
{
if (bool.TryParse(val, out var bTemp))
{
tsid.IsClockMaster[dasSerial] = bTemp;
}
}
break;
}
}
}
}
}
}