This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
---
source_files:
- Common/DTS.Common/Events/Groups/GroupChannelList/GroupChannelDeleteRequestEvent.cs
- Common/DTS.Common/Events/Groups/GroupChannelList/GroupChannelsChangedEvent.cs
- Common/DTS.Common/Events/Groups/GroupChannelList/GroupUpdatedEvent.cs
generated_at: "2026-04-17T16:36:42.587532+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "9096e4545f2ae1d9"
---
# Documentation: DTS.Common.Events.Groups.GroupChannelList
## 1. Purpose
This module defines three event types used for inter-component communication within the group channel management subsystem. It leverages the Prism.Events pub/sub mechanism to enable loosely-coupled messaging between components that manage group channels. The events facilitate deletion requests, channel list change notifications, and group update status propagation.
## 2. Public Interface
### `GroupChannelDeleteRequestEvent`
**Signature:** `public class GroupChannelDeleteRequestEvent : PubSubEvent<GroupChannelDeleteRequestEventArgs>`
An event used to request deletion of a group channel. Publishers signal intent to delete; subscribers handle the actual deletion logic.
---
### `GroupChannelDeleteRequestEventArgs`
**Signature:** `public class GroupChannelDeleteRequestEventArgs`
| Property | Type | Description |
|----------|------|-------------|
| `Page` | `object` | The page/context initiating the delete request |
| `Channel` | `IGroupChannel` | The channel targeted for deletion |
**Constructor:** `GroupChannelDeleteRequestEventArgs(object page, IGroupChannel channel)`
---
### `GroupChannelsChangedEvent`
**Signature:** `public class GroupChannelsChangedEvent : PubSubEvent<GroupChannelsChangedEventArgs>`
An event published when the collection of channels associated with a group has changed.
---
### `GroupChannelsChangedEventArgs`
**Signature:** `public class GroupChannelsChangedEventArgs`
| Property | Type | Description |
|----------|------|-------------|
| `Group` | `object` | The group whose channels changed |
| `ChannelCount` | `int` | The updated count of channels in the group |
**Constructor:** `GroupChannelsChangedEventArgs(object group, int channelCount)`
---
### `GroupUpdatedEvent`
**Signature:** `public class GroupUpdatedEvent : PubSubEvent<GroupUpdatedEventArgs>`
An event published when a group has been updated, with specific status indicating the type of update.
---
### `GroupUpdatedEventArgs`
**Signature:** `public class GroupUpdatedEventArgs`
| Property | Type | Description |
|----------|------|-------------|
| `Page` | `object` | The page/context where the update occurred |
| `UpdateStatus` | `Status` | Enum indicating what type of update occurred |
**Constructor:** `GroupUpdatedEventArgs(object page, Status status)`
**Nested Enum:**
```csharp
public enum Status
{
ChannelsInserted,
AssignmentsMade
}
```
## 3. Invariants
- All event argument classes have immutable properties (read-only, set only via constructor).
- `GroupChannelDeleteRequestEventArgs.Channel` must be a valid `IGroupChannel` implementation instance.
- `GroupChannelsChangedEventArgs.ChannelCount` is an `int`; the source does not specify whether negative values are valid or prevented.
- `GroupUpdatedEventArgs.UpdateStatus` is constrained to the defined `Status` enum values (`ChannelsInserted`, `AssignmentsMade`).
- All `Page` and `Group` properties are typed as `object`, allowing any reference type; no type constraints are enforced at compile time.
## 4. Dependencies
**This module depends on:**
- `Prism.Events` — Provides `PubSubEvent<T>` base class for all three events.
- `DTS.Common

View File

@@ -0,0 +1,51 @@
---
source_files:
- Common/DTS.Common/Events/Groups/GroupsList/GroupListEditGroupEvent.cs
- Common/DTS.Common/Events/Groups/GroupsList/GroupListGroupSelectedEvent.cs
generated_at: "2026-04-17T16:37:48.828756+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "42ef77f2b2284294"
---
# Documentation: DTS.Common.Events.Groups.GroupList
## 1. Purpose
This module defines event types for the Group List feature using Prism's event aggregation pattern. These events enable decoupled publish/subscribe communication between components in the application when group-related user actions occur, such as selecting groups or initiating an edit operation. The events carry integer-based identifiers as payloads.
---
## 2. Public Interface
### `GroupListEditGroupEvent`
- **Signature:** `public class GroupListEditGroupEvent : PubSubEvent<int>`
- **Behavior:** An event that publishes an `int` payload, intended to signal that a group edit operation should be initiated. The payload represents a single group identifier.
### `GroupListGroupSelectedEvent`
- **Signature:** `public class GroupListGroupSelectedEvent : PubSubEvent<int[]>`
- **Behavior:** An event that publishes an `int[]` payload, intended to signal that one or more groups have been selected. The payload is an array of group identifiers.
---
## 3. Invariants
- `GroupListEditGroupEvent` always carries a single `int` payload representing a group ID.
- `GroupListGroupSelectedEvent` always carries an `int[]` payload representing zero or more group IDs.
- Both event types inherit from `PubSubEvent<T>`, guaranteeing they follow Prism's event aggregation contract.
---
## 4. Dependencies
**This module depends on:**
- `Prism.Events` — Provides the `PubSubEvent<T>` base class for event aggregation.
**What depends on this module:**
- Unknown from source alone. Consumers would be any component that publishes or subscribes to these events via Prism's `IEventAggregator`.
---
## 5. Gotchas
- **Stale XML documentation:** Both classes contain XML comments referencing `GroupTemplateListGroupTemplateSelectedEvent` and "called when a template is selected." This appears to be copy-paste documentation that does not match the actual class names or their intended purposes (group editing and group selection, not template selection). The documentation should not be trusted as accurate.