namespace DatabaseExport { public class HardwareChannel : System.IComparable //: Common.BindableBase, System.IComparable { private readonly ISOHardwareChannel _isoChannel; public ISOHardwareChannel GetISOChannel() { return _isoChannel; } public int CompareTo(HardwareChannel right) { if (this == right) { return 0; } if (null == right) { return 0; } var order = GetISOChannel().DASDisplayOrder.CompareTo(right.GetISOChannel().DASDisplayOrder); if (0 != order) { return order; } return GetISOChannel().ChannelIdx.CompareTo(right.GetISOChannel().ChannelIdx); } public string GetId() { return string.Format("{0}x{1}", Hardware.GetHardware().GetId(), 1 + ChannelNumber); } public TestObjectChannel TestObjectChannel { get; set; } public HardwareChannel(HardwareChannel copy) { ChannelNumber = copy.ChannelNumber; if (null != copy.Sensor) { Sensor = new SensorData(copy.Sensor); } TestObjectChannel = copy.TestObjectChannel; Hardware = copy.Hardware; _isoChannel = copy._isoChannel; } public HardwareChannel(ISOHardwareChannel channel, DASHardware hardware) { ChannelNumber = channel.ChannelIdx; Hardware = hardware; _isoChannel = channel; } public DASHardware Hardware { get; } public int ChannelNumber { get; } = 0; public SensorData Sensor { get; set; } = null; public bool IsSupportedBridgeType(Test.Module.Channel.Sensor.BridgeType bridgeType) { return (GetISOChannel().SupportedBridges & (int)bridgeType) == (int)bridgeType; } } }