Files
DP44/DataPRO/SensorDB/StreamInputSetting.cs
2026-04-17 14:55:32 -04:00

77 lines
2.4 KiB
C#

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
{
///<summary>
///</summary>
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;
}
}
}
}