Files
DP44/Common/DTS.Common.Serialization/DDAS (Chrysler)/DDASTest.cs
2026-04-17 14:55:32 -04:00

94 lines
2.8 KiB
C#

using System.Collections.Generic;
namespace DTS.Serialization.DDAS
{
public class DDASTest
{
public enum Fields
{
LabName,
POCName,
POCPhoneAndEmail,
TestDate,
TestTime,
TestNumber,
TestType,
TestObject,
DataType,
SensorMakeModelSerial,
SensorLocation,
SensorAxis,
SensorMountType,
EngineeringUnits,
ChannelErrors,
SamplingRate,
AAFilterCutoffDescription,
BitResolution,
DigitalFilterType,
Notes
}
private readonly Dictionary<Fields, string> _values = new Dictionary<Fields, string>();
public string GetValue(Fields field)
{
if (!_values.ContainsKey(field)) _values.Add(field, "#NOVALUE");
return _values[field];
}
public void SetValue(Fields field, string value)
{
_values[field] = value;
foreach (var channel in _channels) channel.SetValue(field, value);
}
private readonly List<DDASChannel> _channels = new List<DDASChannel>();
public DDASChannel[] Channels
{
get => _channels.ToArray();
set
{
_channels.Clear();
_channels.AddRange(value);
}
}
public Test Test { get; }
public FilteredData[] DataUnfilteredEU { get; }
public FilteredData[] DataADC { get; }
public double[] ActualRangesEUFiltered { get; }
public double[] ActualRangesEUUnfiltered { get; }
public double[] ActualRangesADC { get; }
public bool FlatFolders { get; }
public DDASTest(Test test, FilteredData[] adc, FilteredData[] euUnfiltered, string path,
double[] actualRangesEUFiltered,
double[] actualRangesEUUnfiltered,
double[] actualRAngesADC,
bool flatFolders)
{
Test = test;
DataADC = adc;
DataUnfilteredEU = euUnfiltered;
ActualRangesADC = actualRAngesADC;
ActualRangesEUUnfiltered = actualRangesEUUnfiltered;
ActualRangesEUFiltered = actualRangesEUFiltered;
FlatFolders = flatFolders;
for (var i = 0; i < test.Channels.Count && i < DataADC.Length; i++)
_channels.Add(new DDASChannel(this, i, path));
SetValue(Fields.TestNumber, test.Id);
SetValue(Fields.TestDate, test.InceptionDate.ToShortDateString());
SetValue(Fields.TestTime, test.InceptionDate.ToShortTimeString());
}
}
}