using System; namespace DatabaseImport { public class HardwareChannel : /*BasePropertyChanged,*/ IComparable, IHardwareChannel { private readonly ISO.HardwareChannel _isoChannel; public ISO.HardwareChannel 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); return 0 != order ? order : GetISOChannel().ChannelIdx.CompareTo(right.GetISOChannel().ChannelIdx); } public string GetId() { return $"{Hardware.GetHardware().GetId()}x{1 + ChannelNumber}"; } private TestObjectChannel _testObjectChannel; 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(ISO.HardwareChannel 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; } } }