init
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
|
||||
namespace DatabaseExport
|
||||
{
|
||||
public class TestObjectChannel : TestObjectTemplateChannel, /*INotifyPropertyChanged,*/ IComparable<TestObjectChannel>
|
||||
{
|
||||
private const string CURRENT_SUFFIX = "_CU";
|
||||
public const int CHANNEL_IDX_UNKNOWN = -1;
|
||||
public enum SquibChannelTypes
|
||||
{
|
||||
None, //Non-squib channels
|
||||
Voltage,
|
||||
Current
|
||||
}
|
||||
// #endregion
|
||||
public string GetGraphID()
|
||||
{
|
||||
return SquibChannelType == SquibChannelTypes.Current ? GetId() + CURRENT_SUFFIX : GetId();
|
||||
}
|
||||
public string GetId()
|
||||
{
|
||||
return GetIdWithSpecificChannelId(Channel.Id);
|
||||
}
|
||||
public string GetIdWithSpecificChannelId(long id)
|
||||
{
|
||||
return $"{TestObject.SerialNumber}_{Channel.MMEChannelType}_{id}";
|
||||
}
|
||||
public SquibChannelTypes SquibChannelType
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
public int CompareTo(TestObjectChannel right)
|
||||
{
|
||||
if (null == right) { return 1; }
|
||||
if (this == right) { return 0; }
|
||||
var comp = DisplayOrder.CompareTo(right.DisplayOrder);
|
||||
if (0 != comp) { return comp; }
|
||||
|
||||
comp = Name.CompareTo(right.Name);
|
||||
if (0 != comp) { return comp; }
|
||||
|
||||
if (null != TestObject && null != right.TestObject)
|
||||
{
|
||||
comp = TestObject.SerialNumberOrOriginalSerialNumber.CompareTo(right.TestObject.SerialNumberOrOriginalSerialNumber);
|
||||
if (0 != comp) { return comp; }
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
public string SensorSerialNumber
|
||||
{
|
||||
get => GetProperty("SensorSerialNumber", "") as string;
|
||||
set => SetProperty("SensorSerialNumber", value);
|
||||
}
|
||||
private const char ChannelSeparator = 'x';
|
||||
public string HardwareId
|
||||
{
|
||||
get => GetProperty("HardwareId", "") as string;
|
||||
set
|
||||
{
|
||||
if (null != value)
|
||||
{
|
||||
var tokens = value.Split('_');
|
||||
if (3 == tokens.Length)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.AppendFormat("{0}_{1}", tokens[0], tokens[1]);
|
||||
var index = tokens[2].IndexOf(ChannelSeparator);
|
||||
if (index >= 0) { sb.Append(tokens[2].Substring(index)); }
|
||||
value = sb.ToString();
|
||||
}
|
||||
}
|
||||
SetProperty("HardwareId", value);
|
||||
}
|
||||
}
|
||||
|
||||
private ISO.TestObject _testObject = null;
|
||||
public ISO.TestObject TestObject => _testObject;
|
||||
|
||||
public TestObjectChannel(TestObjectTemplateChannel copy, ISO.TestObject testObject, ISO.TestObjectTemplate template)
|
||||
: base(copy, template)
|
||||
{
|
||||
_testObject = testObject;
|
||||
}
|
||||
|
||||
public string GetID()
|
||||
{
|
||||
return GetIDWithSpecificChannelId(Channel.Id);
|
||||
}
|
||||
public string GetIDWithSpecificChannelId(long id)
|
||||
{
|
||||
return string.Format("{0}_{1}_{2}", _testObject.SerialNumber, Channel.MMEChannelType, id);
|
||||
}
|
||||
private int _channelIDX = CHANNEL_IDX_UNKNOWN;
|
||||
public int ChannelIDX
|
||||
{
|
||||
get => _channelIDX;
|
||||
set => _channelIDX = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user