init
This commit is contained in:
96
docs/ai/Common/DTS.Common/Events/Groups/GroupChannelList.md
Normal file
96
docs/ai/Common/DTS.Common/Events/Groups/GroupChannelList.md
Normal 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
|
||||
Reference in New Issue
Block a user