init
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
using System;
|
||||
using DTS.Common.Interface.Channels;
|
||||
using DTS.Common.Storage;
|
||||
using DTS.Common.Utilities.Logging;
|
||||
|
||||
namespace DTS.Common.ISO
|
||||
{
|
||||
/// <summary>
|
||||
/// this is a class for storing directly in and out of the db
|
||||
/// it's simplified and doesn't know about sensors and is just a wrapper for a row in the db
|
||||
/// </summary>
|
||||
public class LevelTriggerChannel
|
||||
{
|
||||
public IGroupChannel GroupChannel { get; set; } = null;
|
||||
|
||||
public string GroupChannelId { get; set; } = "-1";
|
||||
|
||||
public string HardwareChannelId { get; set; } = "";
|
||||
|
||||
public string SensorSerialNumber { get; set; } = "";
|
||||
|
||||
public bool GreaterThanEnabled { get; set; } = true;
|
||||
|
||||
public double GreaterThanThresholdEU { get; set; }
|
||||
|
||||
public bool LessThanEnabled { get; set; }
|
||||
|
||||
public bool TriggerBetweenBounds { get; set; }
|
||||
|
||||
public bool TriggerOutsideBounds { get; set; }
|
||||
|
||||
public double InsideUpperLevelEU { get; set; }
|
||||
|
||||
public double InsideLowerLevelEU { get; set; }
|
||||
|
||||
public double OutsideUpperLevelEU { get; set; }
|
||||
|
||||
public double OutsideLowerLevelEU { get; set; }
|
||||
|
||||
public double LessThanThresholdEU { get; set; }
|
||||
|
||||
public LevelTriggerChannel(LevelTriggerChannel copy)
|
||||
{
|
||||
GroupChannel = copy.GroupChannel;
|
||||
GroupChannelId = copy.GroupChannelId;
|
||||
HardwareChannelId = copy.HardwareChannelId;
|
||||
SensorSerialNumber = copy.SensorSerialNumber;
|
||||
GreaterThanEnabled = copy.GreaterThanEnabled;
|
||||
GreaterThanThresholdEU = copy.GreaterThanThresholdEU;
|
||||
LessThanEnabled = copy.LessThanEnabled;
|
||||
LessThanThresholdEU = copy.LessThanThresholdEU;
|
||||
InsideUpperLevelEU = copy.InsideUpperLevelEU;
|
||||
InsideLowerLevelEU = copy.InsideLowerLevelEU;
|
||||
OutsideUpperLevelEU = copy.OutsideUpperLevelEU;
|
||||
OutsideLowerLevelEU = copy.OutsideLowerLevelEU;
|
||||
TriggerBetweenBounds = copy.TriggerBetweenBounds;
|
||||
TriggerOutsideBounds = copy.TriggerOutsideBounds;
|
||||
}
|
||||
public LevelTriggerChannel(
|
||||
string groupChannelId,
|
||||
string hardwareChannelId,
|
||||
string sensorSerialNumber,
|
||||
bool greaterThanEnabled,
|
||||
double greaterThanEU,
|
||||
bool lessThanEnabled,
|
||||
double lessThanEU,
|
||||
double insideLowerLevelEU,
|
||||
double insideUpperLevelEU,
|
||||
double outsideLowerLevelEU,
|
||||
double outsideUpperLevelEU,
|
||||
bool triggerOutsideBounds,
|
||||
bool triggerInsideBounds)
|
||||
{
|
||||
GroupChannelId = groupChannelId;
|
||||
HardwareChannelId = hardwareChannelId;
|
||||
SensorSerialNumber = sensorSerialNumber;
|
||||
GreaterThanEnabled = greaterThanEnabled;
|
||||
GreaterThanThresholdEU = greaterThanEU;
|
||||
LessThanEnabled = lessThanEnabled;
|
||||
LessThanThresholdEU = lessThanEU;
|
||||
InsideLowerLevelEU = insideLowerLevelEU;
|
||||
InsideUpperLevelEU = insideUpperLevelEU;
|
||||
OutsideLowerLevelEU = outsideLowerLevelEU;
|
||||
OutsideUpperLevelEU = outsideUpperLevelEU;
|
||||
TriggerOutsideBounds = triggerOutsideBounds;
|
||||
TriggerBetweenBounds = triggerInsideBounds;
|
||||
}
|
||||
public LevelTriggerChannel(System.Data.DataRow dr)
|
||||
{
|
||||
try
|
||||
{
|
||||
GreaterThanEnabled = Convert.ToBoolean(dr[DbOperations.LevelTriggers.Fields.GreaterThanEnabled.ToString()]);
|
||||
GreaterThanThresholdEU = Convert.ToDouble(dr[DbOperations.LevelTriggers.Fields.GreaterThanEU.ToString()]);
|
||||
HardwareChannelId = Convert.ToString(dr[DbOperations.LevelTriggers.Fields.HardwareChannelId.ToString()]);
|
||||
LessThanEnabled = Convert.ToBoolean(dr[DbOperations.LevelTriggers.Fields.LessThanEnabled.ToString()]);
|
||||
LessThanThresholdEU = Convert.ToDouble(dr[DbOperations.LevelTriggers.Fields.LessThanEU.ToString()]);
|
||||
SensorSerialNumber = Convert.ToString(dr[DbOperations.LevelTriggers.Fields.SensorSerialNumber.ToString()]);
|
||||
GroupChannelId = Convert.ToInt64(dr[DbOperations.LevelTriggers.Fields.ChannelId.ToString()]).ToString();
|
||||
TriggerBetweenBounds = Convert.ToBoolean(dr[DbOperations.LevelTriggers.Fields.InsideEnabled.ToString()]);
|
||||
TriggerOutsideBounds = Convert.ToBoolean(dr[DbOperations.LevelTriggers.Fields.OutsideEnabled.ToString()]);
|
||||
OutsideUpperLevelEU = Convert.ToDouble(dr[DbOperations.LevelTriggers.Fields.OutsideUpperEU.ToString()]);
|
||||
OutsideLowerLevelEU = Convert.ToDouble(dr[DbOperations.LevelTriggers.Fields.OutsideLowerEU.ToString()]);
|
||||
InsideUpperLevelEU = Convert.ToDouble(dr[DbOperations.LevelTriggers.Fields.InsideUpperEU.ToString()]);
|
||||
InsideLowerLevelEU = Convert.ToDouble(dr[DbOperations.LevelTriggers.Fields.InsideLowerEU.ToString()]);
|
||||
}
|
||||
catch (Exception ex) { APILogger.Log(ex); }
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"{GroupChannel.HardwareChannel} - {LevelTriggerText}";
|
||||
}
|
||||
|
||||
public string LevelTriggerText
|
||||
{
|
||||
get
|
||||
{
|
||||
if (LessThanEnabled && GreaterThanEnabled)
|
||||
{
|
||||
return $"{Strings.Strings.LevelTrigger_LessThan} {LessThanThresholdEU:N2} or {Strings.Strings.LevelTrigger_GreaterThan} {GreaterThanThresholdEU:N2} ({GroupChannel.Units})";
|
||||
}
|
||||
if (LessThanEnabled)
|
||||
{
|
||||
return $"{Strings.Strings.LevelTrigger_LessThan} {LessThanThresholdEU:N2}({GroupChannel.Units})";
|
||||
}
|
||||
if (GreaterThanEnabled)
|
||||
{
|
||||
return $"{Strings.Strings.LevelTrigger_GreaterThan} {GreaterThanThresholdEU:N2}({GroupChannel.Units})";
|
||||
}
|
||||
if (TriggerBetweenBounds)
|
||||
{
|
||||
return string.Format(Strings.Strings.LevelTrigger_TriggerInside, $"{InsideLowerLevelEU:N2}", $"{InsideUpperLevelEU:N2}", GroupChannel.Units);
|
||||
}
|
||||
return TriggerOutsideBounds ? string.Format(Strings.Strings.LevelTrigger_TriggerOutside, $"{OutsideLowerLevelEU:N2}", $"{OutsideUpperLevelEU:N2}", GroupChannel.Units) : Strings.Strings.Table_NA;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user