--- 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:** `