--- source_files: - Common/DTS.Common/Interface/Channels/IChannelSettingRecord.cs - Common/DTS.Common/Interface/Channels/IGroupChannelSettingRecord.cs - Common/DTS.Common/Interface/Channels/IChannelCode.cs - Common/DTS.Common/Interface/Channels/IChannelSetting.cs - Common/DTS.Common/Interface/Channels/IChannelDbRecord.cs - Common/DTS.Common/Interface/Channels/IGroupChannel.cs generated_at: "2026-04-17T15:34:44.843620+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "0ca0be184cb31e08" --- # DTS.Common.Interface.Channels Documentation ## 1. Purpose 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". | | `LastModifiedBy` | `string { get; set;