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