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; } } } } } }