Files
DP44/docs/ai/Common/DTS.CommonCore/Interface/Channels.md

74 lines
3.7 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.CommonCore/Interface/Channels/IChannelSettingRecord.cs
- Common/DTS.CommonCore/Interface/Channels/IGroupChannelSettingRecord.cs
- Common/DTS.CommonCore/Interface/Channels/IChannelCode.cs
- Common/DTS.CommonCore/Interface/Channels/IChannelSetting.cs
- Common/DTS.CommonCore/Interface/Channels/IChannelDbRecord.cs
- Common/DTS.CommonCore/Interface/Channels/IGroupChannel.cs
generated_at: "2026-04-17T15:35:42.370595+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "fe273a540c2ecd1d"
---
# Documentation: DTS.Common.Interface.Channels
## 1. Purpose
This module defines the core interfaces for the channel management subsystem within DTS. It provides abstractions for channel configuration persistence (`IChannelDbRecord`), channel settings with type-agnostic value access (`IChannelSetting`, `IChannelSettingRecord`, `IGroupChannelSettingRecord`), channel code identification (`IChannelCode`), and the comprehensive `IGroupChannel` interface that orchestrates the relationship between hardware channels, sensors, calibration data, and test configuration. These interfaces serve as the contract between the data layer, business logic, and UI components for channel-related operations.
---
## 2. Public Interface
### IChannelSettingRecord
Defines a channel setting type definition with a default value.
| Member | Signature | Description |
|--------|-----------|-------------|
| `Id` | `int Id { get; set; }` | Unique identifier for the setting type. |
| `SettingName` | `string SettingName { get; set; }` | Name of the setting. |
| `DefaultValue` | `string DefaultValue { get; set; }` | Default value for this setting type. |
### IGroupChannelSettingRecord
Defines a specific setting value applied to a channel.
| Member | Signature | Description |
|--------|-----------|-------------|
| `ChannelId` | `long ChannelId { get; set; }` | ID of the channel this setting belongs to. |
| `SettingId` | `int SettingId { get; set; }` | ID referencing the setting type. |
| `SettingValue` | `string SettingValue { get; set; }` | The value applied to this channel. |
### IChannelCode
Defines a channel code with type classification.
| Member | Signature | Description |
|--------|-----------|-------------|
| `Id` | `int Id { get; }` | Unique identifier (read-only). |
| `Code` | `string Code { get; }` | The code string. |
| `Name` | `string Name { get; }` | Display name. |
| `CodeType` | `ChannelEnumsAndConstants.ChannelCodeType CodeType { get; }` | Type classification of the channel code. |
### IChannelSetting
Defines a channel setting with typed value accessors and cloning capability.
| Member | Signature | Description |
|--------|-----------|-------------|
| `ChannelId` | `long ChannelId { get; set; }` | ID of the associated channel. |
| `SettingTypeId` | `int SettingTypeId { get; }` | ID of the setting type (read-only). |
| `SettingName` | `string SettingName { get; }` | Name of the setting (read-only). |
| `DefaultValue` | `string DefaultValue { get; }` | Default value for this setting (read-only). |
| `Value` | `string Value { get; set; }` | Raw string value. |
| `IntValue` | `int IntValue { get; set; }` | Integer representation of the value. |
| `DoubleValue` | `double DoubleValue { get; set; }` | Double representation of the value. |
| `BoolValue` | `bool BoolValue { get; set; }` | Boolean representation of the value. |
| `Clone` | `IChannelSetting Clone()` | Creates a copy of this setting instance. |
### IChannelDbRecord
Defines the database schema for a channel record with Entity Framework attributes.
| Member | Signature | Description |
|--------|-----------|-------------|
| `Id` | `long Id { get; set; }` | Primary key, mapped to column "Id". |
| `GroupId` | `int GroupId