111 lines
4.9 KiB
C#
111 lines
4.9 KiB
C#
using System;
|
|
using System.Data;
|
|
|
|
namespace DatabaseImport
|
|
{
|
|
public class SquibSetting : SensorData
|
|
{
|
|
public string SquibDescription
|
|
{
|
|
get => SerialNumber;
|
|
set
|
|
{
|
|
SerialNumber = value;
|
|
OnPropertyChanged("SquibDescription");
|
|
}
|
|
}
|
|
|
|
private bool _bypassCurrentFilter;
|
|
|
|
public bool BypassCurrentFilter
|
|
{
|
|
get => _bypassCurrentFilter;
|
|
set => SetProperty(ref _bypassCurrentFilter, value, "BypassCurrentFilter");
|
|
}
|
|
|
|
private bool _bypassVoltageFilter;
|
|
|
|
public bool BypassVoltageFilter
|
|
{
|
|
get => _bypassVoltageFilter;
|
|
set => SetProperty(ref _bypassVoltageFilter, value, "BypassVoltageFilter");
|
|
}
|
|
|
|
public string ArticleId
|
|
{
|
|
get => Id;
|
|
set
|
|
{
|
|
Id = value;
|
|
OnPropertyChanged("ArticleId");
|
|
}
|
|
}
|
|
public static void SetDefaults(SensorData sd)
|
|
{
|
|
sd.AxisNumber = 0;
|
|
sd.Capacity = 5;
|
|
sd.NumberOfAxes = 1;
|
|
sd.Manufacturer = "Generic";
|
|
sd.Model = "Squib Setting";
|
|
sd.Shunt = ShuntMode.None;
|
|
sd.CheckOffset = false;
|
|
sd.BridgeResistance = -1;
|
|
sd.MeasureNoise = false;
|
|
sd.MeasureExcitation = false;
|
|
sd.Bridge = Test.Module.Channel.Sensor.BridgeType.SQUIB;
|
|
sd.SupportedExcitation = new[]
|
|
{ExcitationVoltageOptions.ExcitationVoltageOption.Volt5};
|
|
sd.DisplayUnit = "V";
|
|
sd.Comment = string.IsNullOrWhiteSpace(sd.UserValue1) ? sd.SerialNumber : sd.UserValue1;
|
|
}
|
|
|
|
public SquibSetting(IDataRecord reader)
|
|
{
|
|
try
|
|
{
|
|
SetDefaults(this);
|
|
|
|
Version = Convert.ToInt32(reader[DbOperations.Squib.Fields.Version.ToString()]);
|
|
SquibToleranceLow = Convert.ToDouble(reader[DbOperations.Squib.Fields.SquibToleranceLow.ToString()]);
|
|
SquibToleranceHigh = Convert.ToDouble(reader[DbOperations.Squib.Fields.SquibToleranceHigh.ToString()]);
|
|
SquibOutputCurrent = Convert.ToDouble(reader[DbOperations.Squib.Fields.SquibOutputCurrent.ToString()]);
|
|
SquibDescription = Convert.ToString(reader[DbOperations.Squib.Fields.SerialNumber.ToString()]);
|
|
SquibMeasurementType =
|
|
(SquibMeasurementType)Convert.ToInt16(
|
|
reader[DbOperations.Squib.Fields.MeasurementType.ToString()]);
|
|
_localOnly = Convert.ToBoolean(reader[DbOperations.Squib.Fields.LocalOnly.ToString()]);
|
|
LimitSquibFireDuration = Convert.ToBoolean(reader[DbOperations.Squib.Fields.LimitDuration.ToString()]);
|
|
_lastUpdatedBy = Convert.ToString(reader[DbOperations.Squib.Fields.LastModifiedBy.ToString()]);
|
|
LastModified = Convert.ToDateTime(reader[DbOperations.Squib.Fields.LastModified.ToString()]);
|
|
ISOCode = Convert.ToString(reader[DbOperations.Squib.Fields.ISOCode.ToString()]);
|
|
SquibFireMode = (SquibFireMode)Convert.ToInt16(reader[DbOperations.Squib.Fields.FireMode.ToString()]);
|
|
SquibFireDurationMS = Convert.ToDouble(reader[DbOperations.Squib.Fields.DurationMS.ToString()]);
|
|
SquibFireDelayMS = Convert.ToDouble(reader[DbOperations.Squib.Fields.DelayMS.ToString()]);
|
|
BypassVoltageFilter =
|
|
Convert.ToBoolean(reader[DbOperations.Squib.Fields.BypassVoltageFilter.ToString()]);
|
|
BypassCurrentFilter =
|
|
Convert.ToBoolean(reader[DbOperations.Squib.Fields.BypassCurrentFilter.ToString()]);
|
|
ArticleId = Convert.ToString(reader[DbOperations.Squib.Fields.ArticleId.ToString()]);
|
|
UserValue1 = Convert.ToString(reader[DbOperations.Squib.Fields.UserValue1.ToString()]);
|
|
Comment = UserValue1;
|
|
UserValue2 = Convert.ToString(reader[DbOperations.Squib.Fields.UserValue2.ToString()]);
|
|
UserValue3 = Convert.ToString(reader[DbOperations.Squib.Fields.UserValue3.ToString()]);
|
|
TagsBlobBytes = reader[DbOperations.Squib.Fields.UserTags.ToString()] is DBNull
|
|
? new byte[0]
|
|
: (byte[])(reader[DbOperations.Squib.Fields.UserTags.ToString()]);
|
|
Broken = Convert.ToBoolean(reader[DbOperations.Squib.Fields.Broken.ToString()]);
|
|
DoNotUse = Convert.ToBoolean(reader[DbOperations.Squib.Fields.DoNotUse.ToString()]);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
//APILogger.Log("Failed to process: ", ex);
|
|
}
|
|
|
|
if (string.IsNullOrWhiteSpace(Comment))
|
|
{
|
|
Comment = SerialNumber;
|
|
}
|
|
}
|
|
}
|
|
}
|