--- 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