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,71 @@
---
source_files:
- DataPRO/Modules/SystemSettings/ISOSettings/Model/Enums.cs
- DataPRO/Modules/SystemSettings/ISOSettings/Model/ISOSettingsModel.cs
generated_at: "2026-04-17T15:57:55.902760+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "35e21e8080149c8b"
---
# ISOSettings Module Documentation
## 1. Purpose
The ISOSettings module manages configuration related to ISO (International Organization for Standardization) code support within the DataPRO system. It provides a model layer for persisting and retrieving ISO-related settings—such as display modes, validation rules, and support levels—via a database-backed settings store. The module also orchestrates side effects when critical validation settings change, triggering re-evaluation of test completeness across the system.
---
## 2. Public Interface
### Enum: `Keys`
**Namespace:** `ISOSettings`
Defines setting keys used for database storage lookup.
| Member | Description (inferred from usage) |
|--------|-----------------------------------|
| `ISOSupportAllowTransitional` | Key for transitional ISO support setting |
| `ISOSupport_Allow_NonISO` | Key for allowing non-ISO codes |
| `ShowISOCodes` | Key for ISO code visibility |
| `ShowUserCodes` | Key for user code visibility |
| `UseUserCodes` | Key for user code usage |
| `IsoSupportLevel` | Key for ISO support level |
| `UniqueISOCodesRequired` | Key for unique ISO code requirement |
| `ShowISOStringBuilder` | Key for ISO string builder visibility |
| `ShowChannelCodeLookupHelper` | Key for channel code lookup helper visibility |
| `UseISOCodeFilterMapping` | Key for ISO code filter mapping usage |
| `ValidateTestPositionAndTestObject` | Key for test object/position validation |
---
### Class: `ISOSettingsModel`
**Namespace:** `ISOSettings.Model`
**Implements:** `IISOSettingsModel`
#### Constructor
```csharp
public ISOSettingsModel(IEventAggregator eventAggregator)
```
Initializes the model with an event aggregator for publishing notifications.
#### Methods
```csharp
public IISOSettingsData LoadData()
```
Returns a new `ISOSettingsData` instance populated with current settings values.
```csharp
public void SaveData(IISOSettingsData data)
```
Persists settings from the provided `ISOSettingsData` instance. If `UniqueISOCodesRequired` or `ValidateTestObjectAndPosition` values change, triggers `MarkAllTestsDirty()`. Sets `IsSaved` to `true` on success; publishes a `RaiseNotification` event on exception.
```csharp
public void OnPropertyChanged(string propertyName)
```
**Note:** Empty implementation—does not raise `PropertyChanged` event.
#### Properties
| Property | Type | Default |