using System; using System.Data; namespace DatabaseImport { /// /// Digital Inputs allow collected data to behave consistently with a digital data source /// the settings are for configuring firmware appropriately and for transforming data for consumption /// public class DigitalInputSetting : SensorData { public DigitalInputSetting(IDataRecord reader) : base() { SetDefaults(this); try { LastModified = Convert.ToDateTime(reader[DbOperations.DigitalInputSettings.Fields.LastModified.ToString()]); LastUpdatedBy = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.LastModifiedBy.ToString()]); InputMode = (DigitalInputModes)Convert.ToInt32(reader[DbOperations.DigitalInputSettings.Fields.SettingMode.ToString()]); SettingName = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.SettingName.ToString()]); Id = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.eId.ToString()]); UserValue1 = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.UserValue1.ToString()]); UserValue2 = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.UserValue2.ToString()]); UserValue3 = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.UserValue3.ToString()]); TagsBlobBytes = (byte[])reader[DbOperations.DigitalInputSettings.Fields.UserTags.ToString()]; Comment = Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.UserValue1.ToString()]); ScaleMultiplier.FromDbSerializeString(Convert.ToString(reader[DbOperations.DigitalInputSettings.Fields.ScaleMultiplier.ToString()])); Broken = Convert.ToBoolean(reader[DbOperations.DigitalInputSettings.Fields.Broken.ToString()]); DoNotUse = Convert.ToBoolean(reader[DbOperations.DigitalInputSettings.Fields.DoNotUse.ToString()]); } catch (Exception) { //APILogger.Log("Failed to process: ", ex); } } public static void SetDefaults(SensorData sd) { sd.AxisNumber = 0; sd.NumberOfAxes = 1; sd.Capacity = 2400; sd.Bridge = Test.Module.Channel.Sensor.BridgeType.DigitalInput; sd.Capacity = 1; sd.DisplayUnit = "V"; sd.BridgeResistance = double.NaN; sd.CheckOffset = false; sd.Manufacturer = "Generic"; sd.OffsetToleranceHigh = 2500; sd.OffsetToleranceLow = 2500; sd.Model = "Digital Input Setting"; sd.Shunt = ShuntMode.None; sd.MeasureExcitation = false; sd.MeasureNoise = false; } } }