Files
DP44/docs/ai/Common/DTS.CommonCore/Interface/GroupTemplate.md

109 lines
4.0 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateListView.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateExportView.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateImportView.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/ITemplateChannelListView.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateInfoControlView.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateViewModel.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateInfoControlViewModel.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplate.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateListViewModel.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/ITemplateChannelListViewModel.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateChannel.cs
- Common/DTS.CommonCore/Interface/GroupTemplate/ITestObjectTemplate.cs
generated_at: "2026-04-17T15:30:08.015465+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "550573257345b336"
---
# Documentation: GroupTemplate Interfaces Module
## 1. Purpose
This module defines the contract layer for the Group Template subsystem within the DTS application. It provides interfaces for the Model-View-ViewModel (MVVM) pattern implementation, enabling the management, listing, import/export, and channel configuration of Group Templates. The module also defines `ITestObjectTemplate` for test object metadata and `IGroupTemplateChannel` for channel-level configuration within templates. These interfaces serve as the abstraction boundary between UI components and business logic for template management functionality.
---
## 2. Public Interface
### View Interfaces (Marker Interfaces)
| Interface | Namespace | Base |
|-----------|-----------|------|
| `IGroupTemplateListView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` |
| `IGroupTemplateExportView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` |
| `IGroupTemplateImportView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` |
| `ITemplateChannelListView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` |
| `IGroupTemplateInfoControlView` | `DataPro.Common.Interface` | `IBaseView` |
These are marker interfaces with no members, used for view identification and dependency injection resolution.
---
### IGroupTemplate
**Namespace:** `DTS.Common.Interface.GroupTemplate`
```csharp
public interface IGroupTemplate
{
bool Disabled { get; set; }
string Name { get; set; }
string Description { get; set; }
string Channels { get; set; }
string AssociatedGroups { get; set; }
string LastModifiedBy { get; set; }
DateTime LastModified { get; set; }
string SerialNumber { get; set; }
bool Filter(string term);
}
```
Represents a group template entity with metadata properties and a `Filter` method for search functionality.
---
### IGroupTemplateViewModel
**Namespace:** `DTS.Common.Interface.GroupTemplate`
```csharp
public interface IGroupTemplateViewModel : IBaseViewModel
{
IGroupTemplateImportView ImportView { get; set; }
IGroupTemplateExportView ExportView { get; set; }
void Unset();
}
```
ViewModel for group template operations, holding references to import/export views and providing a cleanup method.
---
### IGroupTemplateInfoControlViewModel
**Namespace:** `DataPro.Common.Interface`
```csharp
public interface IGroupTemplateInfoControlViewModel : IBaseViewModel
{
IGroupTemplateInfoView View { get; }
IGroupTemplateModel SelectedGroupTemplate { get; set; }
}
```
ViewModel for the group template info control, exposing the shell view and currently selected template. **Note:** `IGroupTemplateInfoView` and `IGroupTemplateModel` are referenced but not defined in the provided source files.
---
### IGroupTemplateListViewModel
**Namespace:** `DTS.Common.Interface.GroupTemplate`
```csharp
public interface IGroupTemplateListViewModel : IBaseViewModel, IFilterableListView
{
IGroupTemplateListView View { get; set; }
void GetAllTemplates