Files

74 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.CommonCore/Enums/GroupTemplates/GroupTemplateChannelFields.cs
- Common/DTS.CommonCore/Enums/GroupTemplates/GroupTemplateFields.cs
generated_at: "2026-04-17T16:37:01.677534+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "8d4381d6f54274f5"
---
# Documentation: Group Template Field Enums
## 1. Purpose
This module defines two enumeration types within the `DTS.Common.Enums.GroupTemplates` namespace that serve as field identifiers for group template entities and their associated channels. These enums provide strongly-typed constants for referencing specific fields, likely used in data mapping, validation, serialization, or UI binding scenarios where field names need to be referenced programmatically rather than via magic strings.
---
## 2. Public Interface
### `GroupTemplateChannelFields`
**Namespace:** `DTS.Common.Enums.GroupTemplates`
Defines field identifiers for channel objects within group templates.
| Member | Implicit Value |
|--------|----------------|
| `Required` | 0 |
| `Name` | 1 |
| `ISOCode` | 2 |
| `Custom` | 3 |
| `DisplayOrder` | 4 |
---
### `GroupTemplateFields`
**Namespace:** `DTS.Common.Enums.GroupTemplates`
Defines field identifiers for group template entities.
| Member | Implicit Value |
|--------|----------------|
| `Name` | 0 |
| `Description` | 1 |
| `Channels` | 2 |
| `LastModifiedBy` | 3 |
| `LastModified` | 4 |
| `AssociatedGroups` | 5 |
---
## 3. Invariants
- Both enums use implicit integer backing values starting at 0, incrementing by 1 for each subsequent member.
- The `Name` member exists in both enums but represents different entities and has different implicit values (`1` in `GroupTemplateChannelFields`, `0` in `GroupTemplateFields`).
- All enum members are `public` by default (standard C# enum member visibility).
---
## 4. Dependencies
**Dependencies (what this module imports):**
- None. These are self-contained enum definitions with no external references.
**Dependents (what depends on this module):**
- Unknown from source alone. Consumers would reference the `DTS.Common.Enums.GroupTemplates` namespace to use these field identifiers.
---
## 5. Gotchas
- **Member name collision:** `Name` exists in both enums. Code referencing these values must use the fully-qualified type or disambiguate via the enum type to avoid confusion.
- **Implicit value ordering:** The implicit integer values differ for semantically similar fields. For example, `Name` is value `1` in `GroupTemplateChannelFields` but `0` in `GroupTemplateFields`. Any serialization or persistence logic relying on these integer values should account for this.
- **No explicit values defined:** Neither enum explicitly assigns values to members. Refactoring (adding, removing, or reordering members) could break any code or stored data that depends on the implicit integer values.