49 lines
2.9 KiB
Markdown
49 lines
2.9 KiB
Markdown
---
|
|
source_files:
|
|
- Common/DTS.Common/Classes/Groups/ChannelSettings/ChannelSettingRecord.cs
|
|
- Common/DTS.Common/Classes/Groups/ChannelSettings/GroupChannelSettingRecord.cs
|
|
- Common/DTS.Common/Classes/Groups/ChannelSettings/ChannelSettingBase.cs
|
|
generated_at: "2026-04-17T15:40:13.354076+00:00"
|
|
model: "zai-org/GLM-5-FP8"
|
|
schema_version: 1
|
|
sha256: "8d2215e3e5ca4a40"
|
|
---
|
|
|
|
# Channel Settings Module Documentation
|
|
|
|
## 1. Purpose
|
|
|
|
This module provides data structures for managing channel configuration settings within the DTS system. It defines three core classes: `ChannelSettingRecord` for storing setting definitions (ID, name, default value), `GroupChannelSettingRecord` for associating settings with specific channels, and `ChannelSettingBase` which serves as a concrete implementation of `IChannelSetting` with type conversion utilities and standardized setting name constants. The module supports both programmatic construction and hydration from database readers.
|
|
|
|
---
|
|
|
|
## 2. Public Interface
|
|
|
|
### ChannelSettingRecord
|
|
**Namespace:** `DTS.Common.Classes.Groups.ChannelSettings`
|
|
**Implements:** `IChannelSettingRecord`
|
|
**Inherits:** `Common.Base.BasePropertyChanged`
|
|
|
|
| Member | Signature | Description |
|
|
|--------|-----------|-------------|
|
|
| `Id` | `int` property (get/set) | Numeric identifier for the setting record. Notifies property change via `SetProperty`. |
|
|
| `SettingName` | `string` property (get/set) | Name identifier for the setting. Notifies property change. |
|
|
| `DefaultValue` | `string` property (get/set) | Default value for the setting. Notifies property change. |
|
|
| Constructor | `ChannelSettingRecord()` | Default parameterless constructor. |
|
|
| Constructor | `ChannelSettingRecord(IDataReader reader)` | Hydrates instance from database reader using `Utility.GetInt` and `Utility.GetString`. Reads columns: "Id", "SettingName", "DefaultValue". |
|
|
|
|
---
|
|
|
|
### GroupChannelSettingRecord
|
|
**Namespace:** `DTS.Common.Classes.Groups.ChannelSettings`
|
|
**Implements:** `IGroupChannelSettingRecord`
|
|
**Inherits:** `BasePropertyChanged`
|
|
|
|
| Member | Signature | Description |
|
|
|--------|-----------|-------------|
|
|
| `ChannelId` | `long` property (get/set) | Channel identifier. Notifies property change. |
|
|
| `SettingId` | `int` property (get/set) | Setting identifier. Notifies property change. |
|
|
| `SettingValue` | `string` property (get/set) | The value for this channel-setting pair. Notifies property change. |
|
|
| Constructor | `GroupChannelSettingRecord()` | Default parameterless constructor. |
|
|
| Constructor | `GroupChannelSettingRecord(IDataReader reader, int storedProcedureVersionUsed)` | Hydrates from database reader. Conditionally reads `ChannelId` only if `storedProcedureVersionUsed >= Constants.BULK_GROUPCHANNELSETTINGS_GET_DB_VERSION`. Always reads "SettingId" and "SettingValue". |
|
|
| Constructor | `GroupChannelSettingRecord(long channelId, int settingId, string settingValue)` | Direct |