This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,104 @@
using System;
using System.Linq;
using System.Data;
namespace DatabaseExport
{
public class ISOHardwareChannel //: INotifyPropertyChanged
{
public Hardware ParentDAS { get; set; }
public int SupportedBridges { get; set; } = 12;
public int SupportedSquibFireModes { get; set; } = 16;
public int SupportedExcitations { get; set; } = 16;
public int SupportedDigitalInputModes { get; set; } = 16;
public int SupportedDigitalOutputModes { get; set; } = 16;
public int ChannelIdx { get; set; }
public int DASDisplayOrder { get; set; }
public string ModuleSerialNumber { get; set; } = "";
public int ModuleArrayIndex { get; set; } = 0;
public ISOHardwareChannel(ISOHardwareChannel copy, Hardware h)
{
SupportedSquibFireModes = copy.SupportedSquibFireModes;
SupportedExcitations = copy.SupportedExcitations;
SupportedDigitalOutputModes = copy.SupportedDigitalOutputModes;
SupportedDigitalInputModes = copy.SupportedDigitalInputModes;
SupportedBridges = copy.SupportedBridges;
ParentDAS = h;
LocalOnly = copy.LocalOnly;
DASDisplayOrder = copy.DASDisplayOrder;
ChannelIdx = copy.ChannelIdx;
ModuleArrayIndex = copy.ModuleArrayIndex;
ModuleSerialNumber = copy.ModuleSerialNumber;
}
public ISOHardwareChannel(DataRow dr, Hardware hardware)
{
ParentDAS = hardware;
var fields = Enum.GetValues(typeof(DbOperations.DAS.DASChannelFields)).Cast<DbOperations.DAS.DASChannelFields>().ToArray();
foreach (var field in fields)
{
var o = dr[field.ToString()];
if (DBNull.Value.Equals(o)) { continue; }
switch (field)
{
case DbOperations.DAS.DASChannelFields.ChannelIdx:
ChannelIdx = Convert.ToInt32(o);
break;
case DbOperations.DAS.DASChannelFields.HardwareId:
//don't need, it gets it from the hardware passed in
break;
case DbOperations.DAS.DASChannelFields.SupportedBridges:
SupportedBridges = Convert.ToInt32(o);
break;
case DbOperations.DAS.DASChannelFields.SupportedExcitations:
SupportedExcitations = Convert.ToInt32(o);
break;
case DbOperations.DAS.DASChannelFields.SupportedDigitalInputModes:
SupportedDigitalInputModes = Convert.ToInt32(o);
break;
case DbOperations.DAS.DASChannelFields.SupportedDigitalOutputModes:
SupportedDigitalOutputModes = Convert.ToInt32(o);
break;
case DbOperations.DAS.DASChannelFields.SupportedSquibFireModes:
SupportedSquibFireModes = Convert.ToInt32(o);
break;
case DbOperations.DAS.DASChannelFields.DASDisplayOrder:
DASDisplayOrder = Convert.ToInt32(o);
break;
case DbOperations.DAS.DASChannelFields.ModuleSerialNumber:
ModuleSerialNumber = o as string;
break;
case DbOperations.DAS.DASChannelFields.LocalOnly:
LocalOnly = Convert.ToBoolean(o);
break;
case DbOperations.DAS.DASChannelFields.ModuleArrayIndex:
ModuleArrayIndex = Convert.ToInt32(o);
break;
default:
throw new NotSupportedException("Unknown field:" + field.ToString());
}
}
}
public bool LocalOnly { get; set; } = false;
public static int PhysicalCompare(ISOHardwareChannel left, ISOHardwareChannel right)
{
if (left == right) { return 0; }
if (null == left) { return -1; }
if (null == right) { return 1; }
return left.ChannelIdx.CompareTo(right.ChannelIdx);
}
}
}