Files

94 lines
4.6 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
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;