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; namespace DTS.SensorDB { public class StreamInputSetting : SensorData { /// /// public StreamInputSetting() : base() { SetDefaults(this); } public StreamInputSetting(StreamInputSetting copy) : base(copy) { SetDefaults(this); } public StreamInputSetting(IStreamInputRecord record) { SetDefaults(this); try { DatabaseId = record.Id; SerialNumber = record.SerialNumber; StreamInUDPAddress = record.StreamInUDPAddress; Broken = record.Broken; DoNotUse = record.DoNotUse; LastModified = record.LastModified; LastUpdatedBy = record.LastUpdatedBy; } catch (Exception ex) { APILogger.Log("Failed to process: ", ex); } } public static void SetDefaults(SensorData sd) { sd.SupportedExcitation = new Common.Enums.ExcitationVoltageOptions.ExcitationVoltageOption[] { ExcitationVoltageOptions.ExcitationVoltageOption.Undefined }; sd.Bridge = SensorConstants.BridgeType.StreamIn; 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 = "Stream Input Setting"; sd.Shunt = ShuntMode.None; sd.MeasureExcitation = false; sd.MeasureNoise = false; } public static void Commit(SensorData setting) { SetDefaults(setting); IStreamInputRecord record = new StreamInputRecord(setting); var hr = DbOperations.SensorsStreamInputUpdateInsert(ref record); if (0 == hr) { setting.DatabaseId = record.Id; } } } }