init
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/Groups/GroupChannelList/GroupChannelDeleteRequestEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Groups/GroupChannelList/GroupChannelsChangedEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Groups/GroupChannelList/GroupUpdatedEvent.cs
|
||||
generated_at: "2026-04-17T16:35:33.113253+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "62b1d67b4fec52ab"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.Groups.GroupChannelList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines three Prism-based events for managing group channel lifecycle operations within the DTS system. It provides a pub/sub mechanism for coordinating channel deletion requests, channel collection changes, and group update status notifications across loosely-coupled components. The events follow the `CompositePresentationEvent<T>` pattern from Microsoft.Practices.Prism, enabling decoupled communication between UI components and business logic handlers.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `GroupChannelDeleteRequestEvent`
|
||||
**Signature:** `public class GroupChannelDeleteRequestEvent : CompositePresentationEvent<GroupChannelDeleteRequestEventArgs>`
|
||||
|
||||
An event raised to request deletion of a group channel. Subscribers handle the actual deletion logic; publishers initiate the request.
|
||||
|
||||
---
|
||||
|
||||
### `GroupChannelDeleteRequestEventArgs`
|
||||
**Signature:** `public class GroupChannelDeleteRequestEventArgs`
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Page` | `object` | The page/context initiating the delete request. Read-only. |
|
||||
| `Channel` | `IGroupChannel` | The channel targeted for deletion. Read-only. |
|
||||
|
||||
**Constructor:** `GroupChannelDeleteRequestEventArgs(object page, IGroupChannel channel)`
|
||||
|
||||
---
|
||||
|
||||
### `GroupChannelsChangedEvent`
|
||||
**Signature:** `public class GroupChannelsChangedEvent : CompositePresentationEvent<GroupChannelsChangedEventArgs>`
|
||||
|
||||
An event raised when the collection of channels within a group has changed.
|
||||
|
||||
---
|
||||
|
||||
### `GroupChannelsChangedEventArgs`
|
||||
**Signature:** `public class GroupChannelsChangedEventArgs`
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Group` | `object` | The group whose channels changed. Read-only. |
|
||||
| `ChannelCount` | `int` | The updated count of channels in the group. Read-only. |
|
||||
|
||||
**Constructor:** `GroupChannelsChangedEventArgs(object group, int channelCount)`
|
||||
|
||||
---
|
||||
|
||||
### `GroupUpdatedEvent`
|
||||
**Signature:** `public class GroupUpdatedEvent : CompositePresentationEvent<GroupUpdatedEventArgs>`
|
||||
|
||||
An event raised 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 initiating the update. Read-only. |
|
||||
| `UpdateStatus` | `Status` | The status indicating what type of update occurred. Read-only. |
|
||||
|
||||
**Constructor:** `GroupUpdatedEventArgs(object page, Status status)`
|
||||
|
||||
**Nested Enum:**
|
||||
```csharp
|
||||
public enum Status
|
||||
{
|
||||
ChannelsInserted,
|
||||
AssignmentsMade
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All event argument classes are immutable after construction; properties are get-only and set exclusively
|
||||
64
docs/ai/Common/DTS.CommonCore/Events/Groups/GroupsList.md
Normal file
64
docs/ai/Common/DTS.CommonCore/Events/Groups/GroupsList.md
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Events/Groups/GroupsList/GroupListEditGroupEvent.cs
|
||||
- Common/DTS.CommonCore/Events/Groups/GroupsList/GroupListGroupSelectedEvent.cs
|
||||
generated_at: "2026-04-17T16:37:08.634284+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "891bc058cc39fcbc"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Events.Groups.GroupList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines event types for group list operations within a Prism-based event aggregation system. It provides strongly-typed event classes that enable decoupled publish/subscribe communication between components when users interact with groups in a list view—specifically when editing a group or selecting one or more groups. These events carry group identifiers as payloads and are intended to be used with Prism's `IEventAggregator` mechanism.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `GroupListEditGroupEvent`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class GroupListEditGroupEvent : CompositePresentationEvent<int> { }
|
||||
```
|
||||
|
||||
**Behavior:** An event that publishes an `int` payload representing a single group ID. Subscribers receive this event when a group is being edited from a group list context.
|
||||
|
||||
---
|
||||
|
||||
### `GroupListGroupSelectedEvent`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public class GroupListGroupSelectedEvent : CompositePresentationEvent<int[]> { }
|
||||
```
|
||||
|
||||
**Behavior:** An event that publishes an `int[]` payload representing one or more group IDs. Subscribers receive this event when group selection changes in a group list context.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `GroupListEditGroupEvent` always carries a single `int` payload (a group identifier).
|
||||
- `GroupListGroupSelectedEvent` always carries an `int[]` payload (an array of group identifiers, which may contain zero, one, or multiple elements).
|
||||
- Both classes inherit from `CompositePresentationEvent<T>` from the Prism framework, ensuring they integrate with Prism's `IEventAggregator` for thread-safe publish/subscribe patterns.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `Microsoft.Practices.Prism.Events` — Provides the `CompositePresentationEvent<T>` base class for Prism event aggregation.
|
||||
|
||||
**Consumers (inferred):**
|
||||
- Components that publish or subscribe to group list events via Prism's `IEventAggregator`. Specific consumers cannot be determined from these source files alone.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Stale XML documentation:** Both classes contain copy-pasted XML comments that reference `GroupTemplateListGroupTemplateSelectedEvent` and state "called when a template is selected." These comments do not match the actual class names or their intended purpose (group operations, not template operations). The documentation should be updated to reflect the correct class names and behaviors.
|
||||
- **Payload type difference:** Note that `GroupListEditGroupEvent` uses `int` while `GroupListGroupSelectedEvent` uses `int[]`. Subscribers must handle the appropriate payload type for each event.
|
||||
Reference in New Issue
Block a user