Files
DP44/Common/DTS.Common.Import/.svn/pristine/85/8588e65d091c1f1df95a719b88aeac522258b96b.svn-base
2026-04-17 14:55:32 -04:00

83 lines
3.2 KiB
Plaintext

using DTS.Common.Classes;
using DTS.Common.Enums;
using DTS.Common.Enums.Sensors;
using DTS.Common.Import.Interfaces;
using Microsoft.VisualBasic.FileIO;
using System;
using System.Linq;
namespace DTS.Common.Import.Parsers.CSV
{
public class Version0CSVTestParser : IParseCSVTest
{
public int Version => 0;
public void ParseVersion(TextFieldParser parser, TestSetupImportData tsid)
{
var tokens = parser.ReadFields();
if (null != tokens && tokens[0] == "Version")
{
var tokens2 = parser.ReadFields();
for (var i = 0; null != tokens2 && i < tokens.Length && i < tokens2.Length; i++)
{
var field = CSVImportTags.GetTagForString(tokens[i]);
var val = tokens2[i];
switch (field)
{
case CSVImportTags.Tags.PostTriggerSec:
{
if (double.TryParse(val, out var dTemp))
{
tsid.PosttriggerSeconds = dTemp;
}
}
break;
case CSVImportTags.Tags.PreTriggerSec:
{
if (double.TryParse(val, out var dTemp))
{
tsid.PretriggerSeconds = dTemp;
}
}
break;
case CSVImportTags.Tags.RecordingMode:
{
if (Enum.TryParse(val, out RecordingModes mode))
{
tsid.RecordingMode = mode;
}
}
break;
case CSVImportTags.Tags.SampleRate:
{
if (double.TryParse(val, out var dTemp))
{
tsid.SamplesPerSecond = dTemp;
}
}
break;
case CSVImportTags.Tags.TestSetupDescription:
tsid.Description = val;
break;
case CSVImportTags.Tags.TestSetupName:
tsid.Name = val;
break;
case CSVImportTags.Tags.Version:
{
if (int.TryParse(val, out var iTemp))
{
tsid.Version = iTemp;
}
}
break;
case CSVImportTags.Tags.Tags:
tsid.Tags = val.Split(';').ToList();
break;
}
}
}
}
}
}