init
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IisoSettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IISOSettingsModel.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IISOSettingsViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IISOSettingsData.cs
|
||||
generated_at: "2026-04-16T12:20:35.290001+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "7b8cfe6060429ed5"
|
||||
---
|
||||
|
||||
# ISO Settings Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for ISO (International Organization for Standardization) settings management within the DTS system. It establishes a Model-View-ViewModel (MVVM) architecture through four interfaces that govern how ISO-related configuration data is stored, displayed, and manipulated. The module provides a decoupled interface layer allowing implementations to vary without affecting dependent components.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IISOSettingsView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseView`
|
||||
|
||||
A marker interface representing the view component in the MVVM pattern. Contains no members beyond those inherited from `IBaseView`.
|
||||
|
||||
---
|
||||
|
||||
### `IISOSettingsModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseModel`
|
||||
|
||||
Defines the data persistence contract for ISO settings.
|
||||
|
||||
| Method | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `SaveData` | `void SaveData(IISOSettingsData data)` | Persists the provided ISO settings data. |
|
||||
| `LoadData` | `IISOSettingsData LoadData()` | Retrieves and returns the stored ISO settings data. |
|
||||
|
||||
---
|
||||
|
||||
### `IISOSettingsViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseViewModel`
|
||||
|
||||
Defines the coordinator between view and model for ISO settings.
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `View` | `IISOSettingsView` | get/set | Reference to the associated view instance. |
|
||||
| `ISOData` | `IISOSettingsData` | get/set | The ISO settings data being managed. |
|
||||
| `Model` | `IISOSettingsModel` | get/set | Reference to the model for data operations. |
|
||||
|
||||
---
|
||||
|
||||
### `IISOSettingsData`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseClass`
|
||||
|
||||
Defines the data structure for ISO configuration settings.
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `UniqueISOCodesRequired` | `bool` | get/set | Controls whether ISO codes must be unique. |
|
||||
| `ISOViewMode` | `IsoViewMode` | get/set | Determines the view mode for ISO display. |
|
||||
| `ShowISOStringBuilder` | `bool` | get/set | Controls visibility of ISO string builder UI. |
|
||||
| `ShowChannelCodeLookupHelper` | `bool` | get/set | Controls visibility of channel code lookup helper. |
|
||||
| `UseISOCodeFilterMapping` | `bool` | get/set | Enables/disables ISO code filter mapping. |
|
||||
| `ShowISOCodes` | `bool` | get only | Indicates whether ISO codes should be displayed. |
|
||||
| `ShowUserCodes` | `bool` | get only | Indicates whether user codes should be displayed. |
|
||||
| `ChannelNamesOnly` | `bool` | get only | Indicates whether only channel names are shown. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Inheritance Hierarchy:** All interfaces in this module inherit from base interfaces in `DTS.Common.Base` (`IBaseView`, `IBaseModel`, `IBaseViewModel`, `IBaseClass`). Implementations must satisfy these base contracts.
|
||||
- **Read-only Properties:** The properties `ShowISOCodes`, `ShowUserCodes`, and `ChannelNamesOnly` on `IISOSettingsData` are read-only. Their values must be derived from other state (likely computed from `ISOViewMode` or other properties), but the derivation logic is not specified in these interfaces.
|
||||
- **ViewModel Composition:** `IISOSettingsViewModel` requires non-null references to `View`, `Model`, and `ISOData` for proper operation (implied by the architecture, though not enforced at interface level).
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- **`DTS.Common.Base`** — Provides base interfaces (`IBaseView`, `IBaseModel`, `IBaseViewModel`, `IBaseClass`) that all ISO settings interfaces extend.
|
||||
- **`DTS.Common.Enums`** — Provides the `IsoViewMode` enum used in `IISOSettingsData.ISOViewMode`.
|
||||
|
||||
### What depends on this module:
|
||||
- **Unclear from source alone.** Concrete implementations of these interfaces and any consumers of `IISOSettingsView`, `IISOSettingsModel`, `IISOSettingsViewModel`, or `IISOSettingsData` are not present in the provided files.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Naming Inconsistency:** The file name `IisoSettingsView.cs` uses lowercase "iso" while the interface name is `IISOSettingsView` (uppercase). The file includes a `// ReSharper disable InconsistentNaming` directive in `IISOSettingsViewModel.cs`, suggesting naming conventions around "ISO" have been a point of friction.
|
||||
- **Read-only Property Derivation:** The three read-only properties on `IISOSettingsData` (`ShowISOCodes`, `ShowUserCodes`, `ChannelNamesOnly`) have no visible implementation. Their relationship to `ISOViewMode` or other writable properties is not documented in these interfaces—implementers must consult concrete implementations or other documentation.
|
||||
- **Empty View Interface:** `IISOSettingsView` defines no members beyond its base interface. This may indicate either a placeholder for future expansion or that all view behavior is defined in `IBaseView`.
|
||||
Reference in New Issue
Block a user