83 lines
3.2 KiB
Plaintext
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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|