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