94 lines
2.8 KiB
C#
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());
|
|
}
|
|
}
|
|
}
|