using DTS.Common.Classes; using DTS.Common.Classes.Sensors; using DTS.Common.Enums; using DTS.Common.Enums.Sensors; using DTS.Common.Interface.Sensors; using DTS.Common.Storage; using DTS.Common.Utilities.Logging; using System; using System.Data; using System.Data.SqlClient; using System.IO.Ports; namespace DTS.SensorDB { public class CanSetting : SensorData { /// /// public CanSetting() : base() { SetDefaults(this); } public CanSetting(CanSetting copy) : base(copy) { SetDefaults(this); } public CanSetting(ICANRecord record) { SetDefaults(this); DatabaseId = record.Id; SerialNumber = record.SerialNumber; Broken = record.Broken; DoNotUse = record.DoNotUse; LastModified = record.LastModified; LastUpdatedBy = record.LastUpdatedBy; } public static void SetDefaults(SensorData sd) { sd.SupportedExcitation = new Common.Enums.ExcitationVoltageOptions.ExcitationVoltageOption[] { ExcitationVoltageOptions.ExcitationVoltageOption.Undefined }; sd.Bridge = SensorConstants.BridgeType.CAN; sd.AxisNumber = 0; sd.NumberOfAxes = 1; sd.Capacity = 1; sd.DisplayUnit = ""; sd.BridgeResistance = double.NaN; sd.CheckOffset = false; sd.Manufacturer = "Generic"; sd.OffsetToleranceHigh = 0; sd.OffsetToleranceLow = 0; sd.Model = "CAN Setting"; sd.Shunt = ShuntMode.None; sd.MeasureExcitation = false; sd.MeasureNoise = false; } public static void Commit(SensorData setting) { SetDefaults(setting); ICANRecord record = new CANRecord(setting); var hr = DbOperations.SensorsCanUpdateInsert(ref record); if (0 == hr) { setting.DatabaseId = record.Id; } } } }