--- 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