Files
DP44/docs/ai/Common/DTS.Common/Interface/GroupTemplate.md
2026-04-17 14:55:32 -04:00

93 lines
3.7 KiB
Markdown

---
source_files:
- Common/DTS.Common/Interface/GroupTemplate/IGroupTemplateListView.cs
- Common/DTS.Common/Interface/GroupTemplate/IGroupTemplateExportView.cs
- Common/DTS.Common/Interface/GroupTemplate/IGroupTemplateImportView.cs
- Common/DTS.Common/Interface/GroupTemplate/ITemplateChannelListView.cs
- Common/DTS.Common/Interface/GroupTemplate/IGroupTemplateInfoControlView.cs
- Common/DTS.Common/Interface/GroupTemplate/IGroupTemplateViewModel.cs
- Common/DTS.Common/Interface/GroupTemplate/IGroupTemplateInfoControlViewModel.cs
- Common/DTS.Common/Interface/GroupTemplate/IGroupTemplate.cs
- Common/DTS.Common/Interface/GroupTemplate/IGroupTemplateListViewModel.cs
- Common/DTS.Common/Interface/GroupTemplate/ITemplateChannelListViewModel.cs
- Common/DTS.Common/Interface/GroupTemplate/IGroupTemplateChannel.cs
- Common/DTS.Common/Interface/GroupTemplate/ITestObjectTemplate.cs
generated_at: "2026-04-17T15:30:34.454216+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "681aad733ee04d10"
---
# Documentation: DTS.Common.Interface.GroupTemplate
## 1. Purpose
This module defines the contract interfaces for the Group Template subsystem within the DTS application. It establishes the abstraction layer between views and view models following an MVVM (Model-View-ViewModel) architecture, enabling the management, listing, import/export, and channel configuration of group templates. The interfaces support both standalone templates and embedded templates within test setups, with capabilities for sorting, filtering, and pagination.
---
## 2. Public Interface
### Views (Marker Interfaces)
| Interface | Namespace | Base | Description |
|-----------|-----------|------|-------------|
| `IGroupTemplateListView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` | Marker interface for the group template list view. |
| `IGroupTemplateExportView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` | Marker interface for the export view. |
| `IGroupTemplateImportView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` | Marker interface for the import view. |
| `ITemplateChannelListView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` | Marker interface for the template channel list view. |
| `IGroupTemplateInfoControlView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for the group template info control view. |
### 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 term matching.
### IGroupTemplateViewModel
**Namespace:** `DTS.Common.Interface.GroupTemplate`
```csharp
public interface IGroupTemplateViewModel : IBaseViewModel
{
IGroupTemplateImportView ImportView { get; set; }
IGroupTemplateExportView ExportView { get; set; }
void Unset();
}
```
Primary view model interface for group template management, holding references to import/export views.
### IGroupTemplateInfoControlViewModel
**Namespace:** `DataPro.Common.Interface`
```csharp
public interface IGroupTemplateInfoControlViewModel : IBaseViewModel
{
IGroupTemplateInfoView View { get; }
IGroupTemplateModel SelectedGroupTemplate { get; set; }
}
```
View model for the group template info control, exposing the shell view and selected template.
### IGroupTemplateListViewModel
**Namespace:** `