This module defines the core abstraction layer for channel management within the DTS (Data Acquisition System) domain. It provides interfaces for channel configuration persistence (IChannelDbRecord), channel settings management (IChannelSetting, IChannelSettingRecord, IGroupChannelSettingRecord), channel code identification (IChannelCode), and the primary aggregate channel interface (IGroupChannel) that combines database persistence, hardware/sensor assignment, and UI-facing state management. These interfaces serve as contracts between the data layer, business logic, and presentation layers for test setup configuration.
2. Public Interface
IChannelSettingRecord
Defines a channel setting type definition (not an instance value).
Member
Signature
Description
Id
int { get; set; }
Unique identifier for the setting type.
SettingName
string { get; set; }
Name of the setting.
DefaultValue
string { get; set; }
Default value for this setting type.
IGroupChannelSettingRecord
Defines a setting value applied to a specific channel.
Member
Signature
Description
ChannelId
long { get; set; }
ID of the channel this setting applies to.
SettingId
int { get; set; }
Reference to the setting type ID.
SettingValue
string { get; set; }
The value applied to this channel.
IChannelCode
Defines a channel code identifier with type classification.
Member
Signature
Description
Id
int { get; }
Unique identifier (read-only).
Code
string { get; }
The code string value.
Name
string { get; }
Display name for the code.
CodeType
ChannelEnumsAndConstants.ChannelCodeType { get; }
Classification of the channel code type.
IChannelSetting
Defines a channel setting instance with typed value access and cloning capability.
Member
Signature
Description
ChannelId
long { get; set; }
ID of the associated channel.
SettingTypeId
int { get; }
The setting type identifier (read-only).
SettingName
string { get; }
Name of the setting (read-only).
DefaultValue
string { get; }
Default value for this setting (read-only).
Value
string { get; set; }
Raw string value.
IntValue
int { get; set; }
Integer interpretation of the value.
DoubleValue
double { get; set; }
Double interpretation of the value.
BoolValue
bool { get; set; }
Boolean interpretation of the value.
Clone
IChannelSetting Clone()
Creates a copy of this setting instance.
IChannelDbRecord
Defines the database persistence contract for a channel with Entity Framework data annotations.
Member
Signature
Description
Id
long { get; set; }
Primary key, mapped to column "Id".
GroupId
int { get; set; }
Foreign key to group, mapped to "GroupId".
IsoCode
string { get; set; }
ISO standard code, mapped to "IsoCode".
IsoChannelName
string { get; set; }
ISO channel name, mapped to "IsoChannelName".
UserCode
string { get; set; }
User-defined code, mapped to "UserCode".
UserChannelName
string { get; set; }
User-defined name, mapped to "UserChannelName".
DASId
int { get; set; }
Data Acquisition System ID, mapped to "DASId".
DASChannelIndex
int { get; set; }
Physical channel index on the DAS, mapped to "DASChannelIndex".
GroupChannelOrder
int { get; set; }
Sort order within group, mapped to "GroupChannelOrder".
TestSetupOrder
int { get; set; }
Sort order within test setup, mapped to "TestSetupOrder".
SensorId
int { get; set; }
Foreign key to sensor.
Disabled
bool { get; set; }
Whether channel is disabled, mapped to "Disabled".
LastModified
DateTime { get; set; }
Timestamp of last modification, mapped to "LastModified".