Files
DP44/Common/DTS.Common/Classes/TestSetups/ROIPeriodChannelRecord.cs
2026-04-17 14:55:32 -04:00

58 lines
2.0 KiB
C#

using DTS.Common.Base;
using DTS.Common.Interface.TestSetups;
using System.Data;
namespace DTS.Common.Classes.TestSetups
{
/// <summary>
/// Describes a record in the ROIPeriodChannels table
/// </summary>
public class ROIPeriodChannelRecord : BasePropertyChanged, IROIPeriodChannelRecord
{
/// <summary>
/// The field that matches the same field in the TestSetupROIs table
/// </summary>
private int _testSetupROIId;
public int TestSetupROIId
{
get => _testSetupROIId;
set => SetProperty(ref _testSetupROIId, value, "TestSetupROIId");
}
/// <summary>
/// The name of a channel in a ROI period.
/// </summary>
private string _channelName;
public string ChannelName
{
get => _channelName;
set => SetProperty(ref _channelName, value, "ChannelName");
}
/// <summary>
/// The id of a channel in a ROI period.
/// </summary>
private long _channelId;
public long ChannelId
{
get => _channelId;
set => SetProperty(ref _channelId, value, "ChannelId");
}
/// <summary>
/// Builds a ROIPeriodChannel record after a call to sp_ROIPeriodChannelsGet
/// </summary>
/// <param name="reader"></param>
public ROIPeriodChannelRecord(IDataReader reader, int storedProcedureVersionToUse)
{
TestSetupROIId = Utility.GetInt(reader, "TestSetupROIId");
ChannelName = Utility.GetString(reader, "ChannelName", "");
if (storedProcedureVersionToUse >= Constants.ROIPERIODCHANNELS_CHANNELID_DB_VERSION)
{
ChannelId = Utility.GetLong(reader, "ChannelId");
}
else
{
ChannelId = -1; //So we know the database doesn't have a ChannelId field in the ROIPeriodChannels table
}
}
}
}