94 lines
4.6 KiB
Markdown
94 lines
4.6 KiB
Markdown
---
|
|
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; |