This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
---
source_files:
- Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsView.cs
- Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsViewModel.cs
- Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsMenuView.cs
- Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsMenuViewModel.cs
generated_at: "2026-04-17T16:34:43.882505+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "b87639c5f06e073a"
---
# Documentation: LabDetails Interfaces
## 1. Purpose
This module defines four marker interfaces for the "LabDetails" feature within an MVVM (Model-View-ViewModel) architecture. These interfaces establish type contracts for views and viewmodels, enabling dependency injection, view-model binding, and separation of concerns. The module provides two parallel hierarchies: a standard view/viewmodel pair extending base types, and a "Menu" variant integrating with a Ribbon control system.
## 2. Public Interface
### `ILabDetailsView`
- **Namespace:** `DTS.Common.Interface`
- **Inheritance:** `IBaseView` (from `DTS.Common.Base`)
- **Members:** None defined (marker interface)
- **Description:** Represents the view contract for LabDetails display functionality.
### `ILabDetailsViewModel`
- **Namespace:** `DTS.Common.Interface`
- **Inheritance:** `IBaseViewModel` (from `DTS.Common.Base`)
- **Members:** None defined (marker interface)
- **Description:** Represents the viewmodel contract for LabDetails presentation logic.
### `ILabDetailsMenuView`
- **Namespace:** `DTS.Common.Interface`
- **Inheritance:** `IRibbonView` (from `DTS.Common.RibbonControl`)
- **Members:** None defined (marker interface)
- **Description:** Represents a Ribbon-integrated menu view for LabDetails functionality.
### `ILabDetailsMenuViewModel`
- **Namespace:** `DTS.Common.Interface`
- **Inheritance:** `IRibbonViewModel` (from `DTS.Common.RibbonControl`)
- **Members:** None defined (marker interface)
- **Description:** Represents the viewmodel contract for the LabDetails Ribbon menu.
## 3. Invariants
- All four interfaces are **marker interfaces** with no members of their own; all behavior contracts are inherited from their respective base interfaces.
- The naming convention implies a strict pairing: `ILabDetailsView` pairs with `ILabDetailsViewModel`, and `ILabDetailsMenuView` pairs with `ILabDetailsMenuViewModel`.
- All types reside in the `DTS.Common.Interface` namespace.
## 4. Dependencies
### External Dependencies (Imports)
| Interface | Dependency | Source Namespace |
|-----------|------------|------------------|
| `ILabDetailsView` | `IBaseView` | `DTS.Common.Base` |
| `ILabDetailsViewModel` | `IBaseViewModel` | `DTS.Common.Base` |
| `ILabDetailsMenuView` | `IRibbonView` | `DTS.Common.RibbonControl` |
| `ILabDetailsMenuViewModel` | `IRibbonViewModel` | `DTS.Common.RibbonControl` |
### Downstream Dependencies
-