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,59 @@
---
source_files:
- DataPRO/Modules/SystemSettings/DBImportExport/DBImportExportModule.cs
generated_at: "2026-04-17T16:30:18.435175+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "c80918b880933336"
---
# DBImportExport
### Purpose
This module provides database import and export functionality within the SystemSettings subsystem. It is a Prism module that registers its views (`DBImportView`, `DBExportView`) and view model (`DBViewModel`) with the Unity dependency injection container, enabling the application to display and manage database import/export operations through the modular UI framework.
### Public Interface
**DBImportExportModule** (implements `IModule`)
- `DBImportExportModule(IUnityContainer unityContainer)` - Constructor accepting a Unity container instance via dependency injection.
- `void Initialize()` - Registers types with Unity: `IDBImportView``DBImportView`, `IDBExportView``DBExportView`, `IDBViewModel``DBViewModel`.
- `void OnInitialized(IContainerProvider containerProvider)` - Empty implementation; no initialization logic executed.
- `void RegisterTypes(IContainerRegistry containerRegistry)` - Calls `Initialize()` to perform type registration.
**DBImageAttribute** (extends `ImageAttribute`)
- `DBImageAttribute()` - Default constructor.
- `DBImageAttribute(string s)` - Constructor accepting a string parameter (unused).
- `BitmapImage AssemblyImage` (getter) - Returns image retrieved via `AssemblyInfo.GetImage(AssemblyNames.DB.ToString())`.
- `string AssemblyName` (getter) - Returns assembly name string.
- `string AssemblyGroup` (getter) - Returns `eAssemblyGroups.Administrative.ToString()`.
- `Type GetAttributeType()` - Returns `typeof(ImageAttribute)`.
- `BitmapImage GetAssemblyImage()` - Returns `AssemblyImage`.
- `string GetAssemblyName()` - Returns `AssemblyName`.
- `string GetAssemblyGroup()` - Returns `AssemblyGroup`.
- `eAssemblyRegion AssemblyRegion` (getter) - Throws `NotImplementedException`.
- `eAssemblyRegion GetAssemblyRegion()` - Throws `NotImplementedException`.
### Invariants
- The `_unityContainer` field must be populated via constructor injection before `Initialize()` is called.
- Type registrations use Unity's default (transient) lifetime, not singleton, despite the comment claiming singleton registration.
- `DBImageAttribute` is restricted to assembly-level targets (`AttributeTargets.Assembly`) and cannot be applied multiple times.
### Dependencies
**Imports:**
- `DTS.Common` - Provides `AssemblyInfo`, `AssemblyNames`, `eAssemblyGroups`, `eAssemblyRegion`.
- `DTS.Common.Interface` - Provides `ImageAttribute`, view/model interfaces (`IDBImportView`, `IDBExportView`, `IDBViewModel`).
- `Prism.Modularity` - Provides `IModule`, `ModuleAttribute`.
- `Prism.Ioc` - Provides `IContainerProvider`, `IContainerRegistry`.
- `Unity` - Provides `IUnityContainer`.
- `System.ComponentModel.Composition` - Provides `ExportAttribute`.
- `System.Windows.Media.Imaging` - Provides `BitmapImage`.
**Dependents:** Not identifiable from source alone; likely consumed by the main application shell/module loader.
### Gotchas
- **BUG:** The `AssemblyName` property returns `AssemblyNames.PowerAndBattery.ToString()` instead of `AssemblyNames.DB.ToString()`. This appears to be a copy-paste error from the PowerAndBattery module.
- The `AssemblyRegion` property and `GetAssemblyRegion()` method throw `NotImplementedException` at runtime if called.
- The comment claims "singleton" registration, but `RegisterType` registers types as transient by default in Unity. Use `RegisterSingleton` or `RegisterType<TFrom, TTo>(new ContainerControlledLifetimeManager())` for true singleton behavior.
- The `DBImageAttribute(string s)` constructor parameter `s` is accepted but never used.
---

View File

@@ -0,0 +1,26 @@
---
source_files:
- DataPRO/Modules/SystemSettings/DBImportExport/Properties/AssemblyInfo.cs
generated_at: "2026-04-17T16:14:39.113101+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "af0b7b9517767fb2"
---
# Properties
### Purpose
This module contains assembly metadata for the DBImportExportModule assembly. It is a standard .NET Framework AssemblyInfo file that defines version information, COM visibility settings, and a unique GUID for the assembly. It exists solely to provide assembly-level configuration and identification for the DBImportExport module.
### Public Interface
No public types are defined. This file contains only assembly-level attributes:
- `AssemblyTitle("DBImportExportModule")` - Sets the assembly title
- `AssemblyProduct("DBImportExportModule")` - Sets the product name
- `AssemblyCopyright("Copyright © 2016")` - Sets copyright information
- `ComVisible(false)` - Disables COM visibility for types in this assembly
- `Guid("bc9afa01-e327-4133-8818-141281f9b3a0")` - Unique identifier for COM interop
- `AssemblyVersion("1.0.0.0")` - Assembly version
- `AssemblyFileVersion("1.0.0.0")` - File version
### Invariants
- The GUID `bc9afa01-e327-4133

View File

@@ -0,0 +1,50 @@
---
source_files:
- DataPRO/Modules/SystemSettings/DBImportExport/Resources/TranslateExtension.cs
- DataPRO/Modules/SystemSettings/DBImportExport/Resources/StringResources.Designer.cs
generated_at: "2026-04-17T16:12:22.120307+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "87d5f6e196d99a39"
---
# Resources
### Purpose
This module provides localization infrastructure for the DB Import/Export feature. It contains a WPF markup extension for XAML-based string resource lookup and an auto-generated strongly-typed resource class containing localized strings for file dialog filters, button labels, and validation messages used in database import/export workflows.
### Public Interface
**`TranslateExtension` class** (`MarkupExtension`):
- `TranslateExtension(string key)` - Constructor accepting the resource key to look up.
- `object ProvideValue(IServiceProvider serviceProvider)` - Returns the localized string for `_key`, or an error marker if not found.
**`StringResources` class** (internal, auto-generated):
- `static ResourceManager ResourceManager { get; }` - Returns the cached `ResourceManager` instance for the `DBImportExport.Resources.StringResources` resource bundle.
- `static CultureInfo Culture { get; set; }` - Gets or sets the current UI culture for resource lookups.
- `static string ExportFileBrowse_Filter { get; }` - File dialog filter: `"DataPRO DB XML File (*.dbxml)|*.dbxml|All Files (*.*)|*.*"`.
- `static string ExportFileData_Empty { get; }` - Message: `"No data to export"`.
- `static string ExportFileName_Empty { get; }` - Message: `"No export file name specified"`.
- `static string ExportView_Browse { get; }` - Label: `"Browse"`.
- `static string ExportView_File { get; }` - Label: `"File"`.
- `static string ImportFileBrowse_Filter { get; }` - File dialog filter: `"DataPRO DB XML File (*.dbxml)|*.dbxml|All Files (*.*)|*.*"`.
- `static string ImportView_Browse { get; }` - Label: `"Browse"`.
- `static string ImportView_File { get; }` - Label: `"File"`.
### Invariants
- `TranslateExtension._key` is immutable after construction (readonly field).
- `ProvideValue` always returns a non-null string; it never returns null.
- When `_key` is null or empty, `ProvideValue` returns the constant `"#stringnotfound#"`.
- When the resource key is not found in the resource manager, `ProvideValue` returns `"#stringnotfound# "` concatenated with the key name.
- `StringResources` is marked `internal` and cannot be accessed outside its assembly.
### Dependencies
- **Depends on**: `System`, `System.Windows.Markup`, `System.Resources`, `System.Globalization`.
- **Depended on by**: Unclear from source alone; presumably XAML files in the DBImportExport module.
### Gotchas
- The `TranslateExtension` implementation is nearly identical to the one in `DataPRO/Modules/ISO/ExtraProperties/Resources`. This is code duplication; consider extracting to a shared localization library if maintenance becomes an issue.
- The `NotFound` constant value `"#stringnotfound#"` is duplicated verbatim from the ISO ExtraProperties module.
- The `StringResources` class is auto-generated; manual edits will be lost when the `.resx` file is regenerated.
---

View File

@@ -0,0 +1,19 @@
---
source_files:
- DataPRO/Modules/SystemSettings/DBImportExport/View/DBExportView.xaml.cs
- DataPRO/Modules/SystemSettings/DBImportExport/View/DBImportView.xaml.cs
generated_at: "2026-04-17T16:12:22.121226+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "ceca07e66fc864c9"
---
# View
### Purpose
This module provides the WPF view components for the database import and export functionality. It contains code-behind partial classes for XAML views that implement specific interfaces from the DTS common infrastructure, enabling view composition and dependency injection patterns.
### Public Interface
**`DBExportView` class** (partial, implements `IDBExportView`):
- `

View File

@@ -0,0 +1,35 @@
---
source_files:
- DataPRO/Modules/SystemSettings/DBImportExport/ViewModel/DBViewModel.cs
generated_at: "2026-04-17T16:00:15.722645+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "9547fb8cbb8ab859"
---
# Documentation: DBViewModel.cs
## 1. Purpose
This module provides the ViewModel for database import/export functionality within the DBImportExport namespace. It serves as a mediator between the import/export views and the underlying data operations, handling file browsing dialogs, XML data transport, and status notifications via Prism's event aggregation system. As noted in the source comments, functionality is currently limited to XML string transport due to DataPRO object dependencies residing in another project.
## 2. Public Interface
### Constructor
```csharp
public DBViewModel(IDBImportView importView, IDBExportView exportView, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)
```
Initializes the ViewModel, sets DataContext on both views, creates interaction requests, and subscribes to `RaiseNotification` and `BusyIndicatorChangeNotification` events.
### Properties
| Property | Type | Description |
|----------|------|-------------|
| `ImportView` | `IDBImportView` | The import view instance. |
| `ExportView` | `IDBExportView` | The export view instance. |
| `NotificationRequest` | `InteractionRequest<Notification>` | Request object for showing notifications. |
| `ConfirmationRequest` | `InteractionRequest<Confirmation>` | Request object for showing confirmations. |
| `IsDirty` | `bool` | Dirty state flag (getter only, private setter). |
| `IsBusy` | `bool` | Busy indicator for UI loading states. |
| `IsMenuIncluded` | `bool` | Toggle for including menu data. |
| `IsNavigationIncluded` | `bool`

View File

@@ -0,0 +1,58 @@
---
source_files:
- DataPRO/Modules/SystemSettings/ISOSettings/ISOSettingsModule.cs
generated_at: "2026-04-17T16:30:25.201419+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "7783de7681880eb0"
---
# ISOSettings
### Purpose
This module provides ISO Settings functionality within the DTS application framework. It is a Prism module responsible for registering its associated View and ViewModel with the Unity dependency injection container, enabling the application to display and manage ISO-related configuration settings. The module also exposes metadata (image, name, group) for display on the main screen as an available component.
### Public Interface
**ISOSettingsModule**
- `ISOSettingsModule(IUnityContainer unityContainer)` — Constructor that receives the Unity container via dependency injection.
- `void Initialize()` — Registers `IISOSettingsView` to `ISOSettingsView` and `IISOSettingsViewModel` to `ISOSettingsViewModel` with the Unity container.
- `void OnInitialized(IContainerProvider containerProvider)` — Empty implementation; no initialization logic executed.
- `void RegisterTypes(IContainerRegistry containerRegistry)` — Calls `Initialize()` to perform type registrations.
**ISOSettingsImageAttribute**
- `ISOSettingsImageAttribute()` — Default constructor.
- `ISOSettingsImageAttribute(string s)` — Constructor accepting a string parameter (unused).
- `override eAssemblyRegion AssemblyRegion` — Throws `NotImplementedException`.
- `override BitmapImage AssemblyImage` — Returns the image retrieved via `AssemblyInfo.GetImage(AssemblyNames.IsoSettings.ToString())`.
- `override string AssemblyName` — Returns `AssemblyNames.IsoSettings.ToString()`.
- `override string AssemblyGroup` — Returns `eAssemblyGroups.Administrative.ToString()`.
- `override Type GetAttributeType()` — Returns `typeof(ImageAttribute)`.
- `override BitmapImage GetAssemblyImage()` — Returns `AssemblyImage`.
- `override string GetAssemblyName()` — Returns `AssemblyName`.
- `override eAssemblyRegion GetAssemblyRegion()` — Throws `NotImplementedException`.
- `override string GetAssemblyGroup()` — Returns `AssemblyGroup`.
### Invariants
- The module must be instantiated with a non-null `IUnityContainer` reference.
- View and ViewModel types are registered as transient (not singleton) via `RegisterType`.
- `ISOSettingsImageAttribute` is decorated with `[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]`, ensuring only one instance per assembly.
### Dependencies
**Depends on:**
- `DTS.Common` — Provides `AssemblyInfo`, `AssemblyNames`, `eAssemblyGroups`.
- `DTS.Common.Interface` — Provides `ImageAttribute`, `eAssemblyRegion`, `IISOSettingsView`, `IISOSettingsViewModel` (inferred).
- `Prism.Ioc` — Provides `IContainerProvider`, `IContainerRegistry`.
- `Prism.Modularity` — Provides `IModule`, `ModuleAttribute`.
- `Unity` — Provides `IUnityContainer`.
- `System.ComponentModel.Composition` — Provides `ExportAttribute`.
- `System.Windows.Media.Imaging` — Provides `BitmapImage`.
**Depended on by:** Not determinable from source alone.
### Gotchas
- `AssemblyRegion` property and `GetAssemblyRegion()` method throw `NotImplementedException`. Calling these will crash the application.
- The `ISOSettingsImageAttribute(string s)` constructor ignores its string parameter; it retrieves the image identically to the default constructor.
- `OnInitialized` is empty, which may indicate incomplete initialization logic or intentional deferral to `RegisterTypes`.
---

View File

@@ -0,0 +1,64 @@
---
source_files:
- DataPRO/Modules/SystemSettings/ISOSettings/Classes/ISOSettingsData.cs
generated_at: "2026-04-17T16:30:37.200396+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "7ab3b9f1af5090f3"
---
# Classes
### Purpose
This module defines the `ISOSettingsData` class, which serves as a data model for ISO (International Organization for Standardization) settings within the application. It manages configuration related to ISO code validation, display modes (ISO codes, user codes, channel names), and string builder visibility. It implements property change notification, making it suitable for data binding in a UI context.
### Public Interface
* `public class ISOSettingsData : DTS.Common.Base.BasePropertyChanged, IISOSettingsData`
* The primary class of this module. Inherits from `BasePropertyChanged` (likely providing `INotifyPropertyChanged` implementation) and implements `IISOSettingsData`.
* `public bool ValidateTestObjectAndPosition`
* **Property (get/set):** Controls whether TestObject and position ISO fields are validated during test setup validation. Defaults to `false`.
* `public bool UniqueISOCodesRequired`
* **Property (get/set):** Determines if unique ISO codes are required.
* `public bool UniqueISOCodesRequiredAndShowISOCodes`
* **Property (get):** Computed property returning `true` if `UniqueISOCodesRequired` is `true` AND `ShowISOCodes` is `true`.
* `public bool ShowISOCodes`
* **Property (get/set):** Controls the visibility of ISO codes. The setter manipulates the `ISOViewMode` enum to reflect the desired state. Setting to `true` may change `ISOViewMode` to `ISOAndUserCode` or `ISOOnly`. Setting to `false` may change it to `UserCodeOnly`. Raises property changed events for dependent properties.
* `public bool ShowUserCodes`
* **Property (get/set):** Controls the visibility of user codes. Similar logic to `ShowISOCodes`, it manipulates `ISOViewMode` based on the value being set.
* `public bool ShowISOStringBuilder`
* **Property (get/set):** Controls the visibility of an ISO string builder UI element.
* `public bool ShowChannelCodeLookupHelper`
* **Property (get/set):** Controls the visibility of a channel code lookup helper.
* `public bool UseISOCodeFilterMapping`
* **Property (get/set):** Controls whether ISO code filter mapping is used.
* `public bool ChannelNamesOnly`
* **Property (get/set):** If set to `true`, sets `ISOViewMode` to `ChannelNameOnly`. The setter does not handle the `false` case explicitly (commented as implicit).
* `public IsoViewMode ISOViewMode`
* **Property (get/set):** The underlying enum determining the current view mode. Raises property changed events for `ShowISOCodes`, `ShowUserCodes`, and `ChannelNamesOnly` when changed.
### Invariants
* `ISOViewMode` is the single source of truth for the display mode. `ShowISOCodes`, `ShowUserCodes`, and `ChannelNamesOnly` are projections of this state.
* Setting `ShowISOCodes` or `ShowUserCodes` to `true` or `false` triggers specific state transitions in `ISOViewMode` rather than acting as independent boolean flags.
* `UniqueISOCodesRequiredAndShowISOCodes` is strictly a logical AND of its two constituent properties.
### Dependencies
* **Depends on:**
* `DTS.Common.Enums` (for `IsoViewMode` enum).
* `DTS.Common.Interface` (for `IISOSettingsData` interface).
* `DTS.Common.Base` (inferred from `BasePropertyChanged`).
### Gotchas
* **State Transition Complexity:** The `ShowISOCodes` and `ShowUserCodes` setters contain non-trivial switch logic that modifies `ISOViewMode`. Developers might assume these are simple boolean flags, but setting them triggers side effects on the view mode.
* **Implicit False Logic:** The `ChannelNamesOnly` setter explicitly ignores the `false` case, relying on other setters to change the mode away from `ChannelNameOnly`.
* **Property Change Notification:** The `ShowISOCodes` setter manually raises `OnPropertyChanged` for several other properties (`ShowISOStringBuilder`, `UniqueISOCodesRequired`, etc.), creating hidden coupling.

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 |

View File

@@ -0,0 +1,130 @@
---
source_files:
- DataPRO/Modules/SystemSettings/ISOSettings/Properties/AssemblyInfo.cs
- DataPRO/Modules/SystemSettings/ISOSettings/Properties/Annotations.cs
generated_at: "2026-04-17T15:58:16.438375+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "6bc3500d0b0ec694"
---
# ISOSettings Module Documentation
## 1. Purpose
This module provides assembly metadata and JetBrains ReSharper external annotations for the `ISOSettings` component within the `DataPRO/Modules/SystemSettings` subsystem. The `AssemblyInfo.cs` file defines standard .NET assembly identity information (version 1.0.0.0, copyright 2016), while `Annotations.cs` supplies static analysis attributes that enable enhanced IDE inspections for nullability, contracts, MVC/Razor development, and code quality warnings. These annotations are design-time constructs and have no runtime behavior.
---
## 2. Public Interface
### AssemblyInfo.cs (Assembly-Level Attributes)
| Attribute | Value |
|-----------|-------|
| `AssemblyTitle` | `"ISOSettings"` |
| `AssemblyDescription` | `""` (empty) |
| `AssemblyConfiguration` | `""` (empty) |
| `AssemblyCompany` | `""` (empty) |
| `AssemblyProduct` | `"ISOSettings"` |
| `AssemblyCopyright` | `"Copyright © 2016"` |
| `AssemblyTrademark` | `""` (empty) |
| `AssemblyCulture` | `""` (empty) |
| `ComVisible` | `false` |
| `Guid` | `"7446722e-490d-4f6a-beaf-907947e576d5"` |
| `AssemblyVersion` | `"1.0.0.0"` |
| `AssemblyFileVersion` | `"1.0.0.0"` |
### Annotations.cs (Namespace: `ISOSettings.Annotations`)
This file defines **70+ attribute classes** for ReSharper static analysis. Key categories include:
#### Nullability Attributes
- **`CanBeNullAttribute`** — Marks elements that may be `null`; consumers must check before use.
- **`NotNullAttribute`** — Marks elements that should never be `null`.
- **`ItemNotNullAttribute`** — For `IEnumerable`, `Task`, or `Lazy<T>`: indicates items/Result/Value are never null.
- **`ItemCanBeNullAttribute`** — For `IEnumerable`, `Task`, or `Lazy<T>`: indicates items/Result/Value may be null.
- **`ImplicitNotNullAttribute`** — Implicitly applies `[NotNull]`/`[ItemNotNull]` to all members in a scope.
#### Contract & Method Behavior Attributes
- **`ContractAnnotationAttribute`** — Describes input/output dependencies (e.g., `"null => null; notnull => notnull"`).
- **`PureAttribute`** — Marks methods with no observable state changes.
- **`MustUseReturnValueAttribute`** — Requires the return value to be used.
- **`AssertionMethodAttribute`** / **`AssertionConditionAttribute`** — Marks assertion methods and their condition parameters.
- **`TerminatesProgramAttribute`** — *[Obsolete: use `ContractAnnotation("=> halt")`]* Marks methods that unconditionally halt execution.
- **`InstantHandleAttribute`** — Indicates a parameter is fully handled during method execution.
- **`LinqTunnelAttribute`** — Marks pure LINQ methods with postponed enumeration.
- **`NoEnumerationAttribute`** — Indicates an `IEnumerable` parameter is not enumerated.
#### String & Format Attributes
- **`StringFormatMethodAttribute`** — Marks methods that use format strings; constructor takes `formatParameterName`.
- **`RegexPatternAttribute`** — Marks a parameter as a regular expression pattern.
#### Property Change Notification
- **`NotifyPropertyChangedInvocatorAttribute`** — Marks methods used to raise `INotifyPropertyChanged` events.
#### Implicit Usage Tracking
- **`UsedImplicitlyAttribute`** — Marks symbols used via reflection or external code.
- **`MeansImplicitUseAttribute`** — Applied to attributes to prevent "unused" warnings on marked symbols.
- **`PublicAPIAttribute`** — Marks public API that should not be removed.
#### ASP.NET MVC Attributes
- `AspMvcActionAttribute`, `AspMvcAreaAttribute`, `AspMvcControllerAttribute`, `AspMvcMasterAttribute`, `AspMvcModelTypeAttribute`, `AspMvcPartialViewAttribute`, `AspMvcViewAttribute`, `AspMvcViewComponentAttribute`, `AspMvcViewComponentViewAttribute`, `AspMvcActionSelectorAttribute`, `AspMvcDisplayTemplateAttribute`, `AspMvcEditorTemplateAttribute`, `AspMvcTemplateAttribute`, `AspMvcSuppressViewErrorAttribute`
- Location format attributes: `AspMvcAreaMasterLocationFormatAttribute`, `AspMvcAreaPartialViewLocationFormatAttribute`, `AspMvcAreaViewLocationFormatAttribute`, `AspMvcMasterLocationFormatAttribute`, `AspMvcPartialViewLocationFormatAttribute`, `AspMvcViewLocationFormatAttribute`
#### Razor Attributes
- `RazorSectionAttribute`, `RazorImportNamespaceAttribute`, `RazorInjectionAttribute`, `RazorDirectiveAttribute`, `RazorHelperCommonAttribute`, `RazorLayoutAttribute`, `RazorWriteLiteralMethodAttribute`, `RazorWriteMethodAttribute`, `RazorWriteMethodParameterAttribute`
#### Collection Access
- **`CollectionAccessAttribute`** — Indicates how a method affects collection content. Uses `CollectionAccessType` enum (`None`, `Read`, `ModifyExistingContent`, `UpdatedContent`).
#### XAML Attributes
- `XamlItemsControlAttribute`, `XamlItemBindingOfItemsControlAttribute`
#### Other Attributes
- `LocalizationRequiredAttribute`, `CannotApplyEqualityOperatorAttribute`, `BaseTypeRequiredAttribute`, `ValueProviderAttribute`, `InvokerParameterNameAttribute`, `PathReferenceAttribute`, `SourceTemplateAttribute`, `MacroAttribute`, `ProvidesContextAttribute`, `HtmlElementAttributesAttribute`, `HtmlAttributeValueAttribute`, `NoReorder`
- ASP.NET Web Forms: `AspChildControlTypeAttribute`, `AspDataFieldAttribute`, `AspDataFieldsAttribute`, `AspMethodPropertyAttribute`, `AspRequiredAttributeAttribute`, `AspTypePropertyAttribute`
#### Supporting Enums
- **`ImplicitUseKindFlags`** — Flags: `Default`, `Access`, `Assign`, `InstantiatedWithFixedConstructorSignature`, `InstantiatedNoFixedConstructorSignature`
- **`ImplicitUseTargetFlags`** — Flags: `Default`, `Itself`, `Members`, `WithMembers`
- **`CollectionAccessType`** — Flags: `None`, `Read`, `ModifyExistingContent`, `UpdatedContent`
- **`AssertionConditionType`** — `IS_TRUE`, `IS_FALSE`, `IS_NULL`, `IS_NOT_NULL`
---
## 3. Invariants
- **Assembly Identity**: The assembly `ISOSettings` is identified by GUID `7446722e-490d-4f6a-beaf-907947e576d5` and version `1.0.0.0`.
- **COM Visibility**: All types in this assembly are COM-invisible (`ComVisible(false)`).
- **Annotation Namespace**: All annotation attributes reside in `ISOSettings.Annotations` namespace.
- **Design-Time Only**: Attributes in `Annotations.cs` are metadata-only; they do not affect runtime behavior.
- **License**: `Annotations.cs` is MIT-licensed from JetBrains (copyright 2016).
- **Compiler Warnings**: The file disables warning 1591 (missing XML documentation) and suppresses several ReSharper inspections at file level.
---
## 4. Dependencies
### Imports (what this module depends on)
- `System.Reflection` — For assembly metadata attributes.
- `System.Runtime.CompilerServices` — For compiler-related attributes.
- `System.Runtime.InteropServices` — For COM interop attributes (`ComVisible`, `Guid`).
- `System` — Base types for annotation attributes.
### Consumers (what depends on this module)
- **Unclear from source alone** — The `ISOSettings` assembly appears to be part of a larger `DataPRO/Modules/SystemSettings` subsystem, but no consuming code is present in these files. The annotations suggest integration with ASP.NET MVC, Razor, and XAML-based components.
---
## 5. Gotchas
1. **Empty Metadata Fields**: `AssemblyDescription`, `AssemblyConfiguration`, `AssemblyCompany`, `AssemblyTrademark`, and `AssemblyCulture` are all empty strings. This may indicate incomplete assembly configuration or placeholder values.
2. **Obsolete Attribute**: `TerminatesProgramAttribute` is marked `[Obsolete("Use [ContractAnnotation('=> halt')] instead")]`. New code should use `ContractAnnotationAttribute`.
3. **Version Stagnation**: Both `AssemblyVersion` and `AssemblyFileVersion` are `1.0.0.0`, suggesting this may be an initial/unmaintained version or the version is managed elsewhere (e.g., CI/CD).
4. **Third-Party Annotations**: The `Annotations.cs` file is a standard JetBrains annotations file. It should be kept in sync with ReSharper versions if updated annotations are needed.
5. **Warning Suppressions**: The annotations file suppresses warning 1591 and multiple ReSharper inspections globally via `#pragma warning disable` and `// ReSharper disable` directives. This may hide legitimate issues in this file.

View File

@@ -0,0 +1,48 @@
---
source_files:
- DataPRO/Modules/SystemSettings/ISOSettings/Resources/TranslateExtension.cs
- DataPRO/Modules/SystemSettings/ISOSettings/Resources/StringResources.Designer.cs
generated_at: "2026-04-17T15:57:33.768149+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "19788904cc250d5c"
---
# Documentation: ISOSettings Resources Module
## 1. Purpose
This module provides localization/internationalization infrastructure for the ISOSettings component within the SystemSettings module. It consists of a WPF XAML markup extension (`TranslateExtension`) that enables declarative string resource lookups in XAML bindings, and a strongly-typed resource accessor class (`StringResources`) that wraps a `.resx` resource file containing UI strings related to ISO configuration options. The module exists to centralize localizable strings for ISO-related settings, supporting potential multi-language deployments.
---
## 2. Public Interface
### `TranslateExtension` (class)
**Namespace:** `ISOSettings.Resources`
**Inheritance:** `System.Windows.Markup.MarkupExtension`
**Attribute:** `[MarkupExtensionReturnType(typeof(string))]`
A XAML markup extension that resolves resource keys to localized strings at runtime.
| Member | Signature | Description |
|--------|-----------|-------------|
| Constructor | `TranslateExtension(string key)` | Initializes the extension with the resource key to look up. Stores the key in a private readonly field `_key`. |
| `ProvideValue` | `public override object ProvideValue(IServiceProvider serviceProvider)` | Returns the localized string for `_key` from `StringResources.ResourceManager`. Returns `NotFound` constant if `_key` is null or empty. Returns `NotFound + " " + _key` if the resource key does not exist in the resource file. |
**Constants:**
- `private const string NotFound = "#stringnotfound#"` — Fallback value returned when a resource key is invalid or missing.
---
### `StringResources` (class)
**Namespace:** `ISOSettings.Resources`
**Visibility:** `internal`
**Attributes:** `[GeneratedCode]`, `[DebuggerNonUserCode]`, `[CompilerGenerated]`
An auto-generated strongly-typed resource class providing access to localized strings. **This class is auto-generated and should not be manually edited.**
| Member | Signature | Description |
|--------|-----------|-------------|
| `ResourceManager` | `internal static global::System.Resources.ResourceManager ResourceManager { get; }` | Returns a cached `ResourceManager` instance for the `ISOSettings.Resources.StringResources` resource bundle. Lazily initialized on first access. |
| `Culture`

View File

@@ -0,0 +1,36 @@
---
source_files:
- DataPRO/Modules/SystemSettings/ISOSettings/View/ISOSettingsView.xaml.cs
generated_at: "2026-04-17T16:15:27.064420+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "a4891084708867aa"
---
# View
### Purpose
This module provides the XAML code-behind for the ISO Settings view in the System Settings module. It serves as a passive view component in an MVVM architecture, implementing the `IISOSettingsView` interface to enable view-model binding and dependency injection. The view acts as a UI container for ISO-related configuration options within the larger DataPRO application.
### Public Interface
**`ISOSettingsView` (class)**
- Signature: `public partial class ISOSettingsView : IISOSettingsView`
- Constructor: `public ISOSettingsView()` - Initializes the component by calling `InitializeComponent()`, which loads the associated XAML layout.
- Implements `IISOSettingsView` interface (defined externally in `DTS.Common.Interface`).
### Invariants
- The view must be paired with a corresponding XAML file (`ISOSettingsView.xaml`) that defines the visual layout.
- The view is a partial class, meaning its complete definition spans both the code-behind and XAML-generated code.
### Dependencies
- **Depends on:**
- `System.ComponentModel` (namespace imported but not directly used in visible code)
- `DTS.Common.Interface` (provides `IISOSettingsView` interface)
- **Depended on by:** Not determinable from source alone; likely consumed by a ViewModel or module registration logic.
### Gotchas
- The `System.ComponentModel` using directive is imported but not visibly used in the code-behind. This may be residual or used by the XAML-generated partial class.
- No DataContext assignment is present in the code-behind; this is likely handled externally by a ViewModel or through XAML binding.
---

View File

@@ -0,0 +1,41 @@
---
source_files:
- DataPRO/Modules/SystemSettings/ISOSettings/ViewModel/ISOSettingsViewModel.cs
generated_at: "2026-04-17T16:15:04.735316+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "8db3a8520eb6d4a3"
---
# ViewModel
### Purpose
This module provides the ViewModel for ISO Settings management, implementing the MVVM pattern with Prism framework support. It coordinates between the view, model, and application infrastructure (event aggregation, region management, dependency injection) to handle ISO code configuration, user notifications, and data persistence.
### Public Interface
**`ISOSettingsViewModel`** (class) - ViewModel for ISO settings management
- Constructor: `public ISOSettingsViewModel(IISOSettingsView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)`
**Properties:**
- `View` (`IISOSettingsView`) - Gets/sets the associated view
- `Model` (`IISOSettingsModel`) - Gets/sets the data model
- `NotificationRequest` (`InteractionRequest<Notification>`) - Request object for showing notifications
- `ConfirmationRequest` (`InteractionRequest<Confirmation>`) - Request object for showing confirmations
- `ISOData` (`IISOSettingsData`) - Gets/sets the ISO settings data
- `IsDirty` (`bool`) - Indicates if data has unsaved changes (private setter)
- `IsBusy` (`bool`) - Indicates busy state for UI indicators
- `IsMenuIncluded` (`bool`) - Indicates if menu is included
- `IsNavigationIncluded` (`bool`) - Indicates if navigation is included
- `HeaderInfo` (`string`) - Returns "MainRegion" (read-only)
**Methods:**
- `void Cleanup()` - Empty implementation
- `Task CleanupAsync()` - Returns `Task.CompletedTask`
- `void Initialize()` - Empty implementation
- `void Initialize(object parameter)` - Empty implementation
- `void Initialize(object parameter, object model)` - Empty implementation
- `Task InitializeAsync()` - Returns `Task.CompletedTask`
- `Task InitializeAsync(object parameter)` - Returns `Task.CompletedTask`
- `void

View File

@@ -0,0 +1,42 @@
---
source_files:
- DataPRO/Modules/SystemSettings/PowerAndBattery/PowerAndBatteryModule.cs
generated_at: "2026-04-17T16:46:28.309627+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "8af7653fca429cb0"
---
# PowerAndBattery Module Documentation
## 1. Purpose
This module provides Power and Battery settings functionality within the DTS modular application framework. It serves as a Prism module that registers its View and ViewModel with the Unity dependency injection container, enabling the main application shell to display and manage power-related system settings. The module also exposes metadata (via `PowerAndBatteryImageAttribute`) that allows the main screen to display it as an available component in the Administrative group.
---
## 2. Public Interface
### `PowerAndBatteryModule` (class)
Implements `Prism.Modularity.IModule`. The primary module entry point.
| Member | Signature | Description |
|--------|-----------|-------------|
| Constructor | `PowerAndBatteryModule(IUnityContainer unityContainer)` | Accepts a Unity container via dependency injection and stores it in `_unityContainer`. |
| `Initialize` | `void Initialize()` | Registers `IPowerAndBatteryView``PowerAndBatteryView` and `IPowerAndBatteryViewModel``PowerAndBatteryViewModel` with the Unity container. |
| `OnInitialized` | `void OnInitialized(IContainerProvider containerProvider)` | Empty implementation—no initialization logic executed. |
| `RegisterTypes` | `void RegisterTypes(IContainerRegistry containerRegistry)` | Calls `Initialize()`. |
### `PowerAndBatteryImageAttribute` (class)
Extends `ImageAttribute`. Provides assembly metadata for UI display.
| Member | Signature | Description |
|--------|-----------|-------------|
| Constructor | `PowerAndBatteryImageAttribute()` | Default constructor; loads assembly image. |
| Constructor | `PowerAndBatteryImageAttribute(string s)` | Overload that ignores the string parameter; loads assembly image. |
| `AssemblyRegion` | `eAssemblyRegion AssemblyRegion { get; }` | **Throws `NotImplementedException`.** |
| `AssemblyImage` | `BitmapImage AssemblyImage { get; }` | Returns a `BitmapImage` retrieved via `AssemblyInfo.GetImage(AssemblyNames.PowerAndBattery.ToString())`. |
| `AssemblyName` | `string AssemblyName { get; }` | Returns `AssemblyNames.PowerAndBattery.ToString()`. |
| `AssemblyGroup

View File

@@ -0,0 +1,28 @@
---
source_files:
- DataPRO/Modules/SystemSettings/PowerAndBattery/Properties/AssemblyInfo.cs
generated_at: "2026-04-17T16:15:47.040450+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "e1b4aa7dc31df68a"
---
# Properties
### 1. Purpose
This module contains assembly-level metadata for the PowerAndBattery assembly. It provides version information, COM visibility settings, and a unique GUID for COM interop identification. This is a standard .NET Framework assembly information file generated by Visual Studio.
### 2. Public Interface
**Assembly Attributes:**
- `[assembly: AssemblyTitle("PowerAndBattery")]`
- `[assembly: AssemblyDescription("")]`
- `[assembly: AssemblyConfiguration("")]`
- `[assembly: AssemblyCompany("")]`
- `[assembly: AssemblyProduct("PowerAndBattery")]`
- `[assembly: AssemblyCopyright("Copyright © 2016")]`
- `[assembly: AssemblyTrademark("")]`
- `[assembly: AssemblyCulture("")]`
- `[assembly: ComVisible(false)]`
- `[assembly: Guid("7446722e-490d-4f6a-beaf-907947e576d5")]`
- `[assembly: AssemblyVersion("1.0.0.0")]

View File

@@ -0,0 +1,81 @@
---
source_files:
- DataPRO/Modules/SystemSettings/PowerAndBattery/View/PowerAndBatteryView.xaml.cs
generated_at: "2026-04-17T16:15:47.040696+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "b29c532f19d777c9"
---
# View
### 1. Purpose
This module provides the ViewModel component for the Power and Battery settings UI within the SystemSettings feature area. It follows the MVVM pattern using Prism and MEF, serving as a placeholder view model that integrates with the application's navigation, event aggregation, and dependency injection infrastructure. The module currently provides minimal domain-specific functionality but establishes the structural foundation for power and battery configuration management.
### 2. Public Interface
**Class: `PowerAndBatteryViewModel`**
- Inherits: `BasePropertyChanged`
- Implements: `IPowerAndBatteryViewModel`
- MEF Export: `[Export(typeof(IPowerAndBatteryView))]` with `[PartCreationPolicy(CreationPolicy.Shared)]` (singleton scope)
**Constructor:**
```csharp
public PowerAndBatteryViewModel(IPowerAndBatteryView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)
```
Initializes the view model, sets the View's DataContext to itself, creates interaction requests, and subscribes to `RaiseNotification` and `BusyIndicatorChangeNotification` events.
**Lifecycle Methods:**
- `void Cleanup()` - Empty implementation
- `Task CleanupAsync()` - Returns `Task.CompletedTask`
- `void Initialize()` - Empty implementation
- `void Initialize(object parameter)` - Empty implementation
- `void Initialize(object parameter, object model)` - Empty implementation
- `Task InitializeAsync()` - Returns `Task.CompletedTask`
- `Task InitializeAsync(object parameter)` - Returns `Task.CompletedTask`
- `void Activated()` - Empty implementation
**Properties:**
- `IPowerAndBatteryView View { get; }` - The associated view instance
- `InteractionRequest<Notification> NotificationRequest { get; }` - For raising notification dialogs
- `InteractionRequest<Confirmation> ConfirmationRequest { get; }` - For raising confirmation dialogs
- `bool IsDirty { get; private set; }` - Tracks unsaved changes state
- `bool IsBusy { get; set; }` - Busy indicator state, bound to UI
- `bool IsMenuIncluded { get; set; }` - Menu inclusion flag
- `bool IsNavigationIncluded { get; set; }` - Navigation inclusion flag
- `string HeaderInfo { get; }` - Returns hardcoded "MainRegion"
**Private Event Handlers:**
- `void OnBusyIndicatorNotification(bool eventArg)` - Sets `IsBusy` property from event
- `void OnRaiseNotification(NotificationContentEventArgs eventArgsWithTitle)` - Raises notification dialog via `NotificationRequest.Raise()`
### 3. Invariants
- The `View` property is set at construction and never reassigned.
- `View.DataContext` is always set to `this` (the ViewModel instance) during construction.
- `NotificationRequest` and `ConfirmationRequest` are initialized at construction and never null.
- Event subscriptions use `ThreadOption.PublisherThread` for `BusyIndicatorChangeNotification` with `keepSubscriberReferenceAlive: true`.
- `HeaderInfo` always returns the literal string "MainRegion".
### 4. Dependencies
**Imports (this module depends on):**
- `DTS.Common.Base` - `BasePropertyChanged` base class
- `DTS.Common.Events` - `RaiseNotification`, `BusyIndicatorChangeNotification`, `NotificationContentEventArgs`
- `DTS.Common.Interactivity` - `InteractionRequest<T>`, `Notification`, `Confirmation`
- `DTS.Common.Interface` - `IPowerAndBatteryView`, `IPowerAndBatteryViewModel`
- `Prism.Events` - `IEventAggregator`, `ThreadOption`
- `Prism.Regions` - `IRegionManager`
- `Unity` - `IUnityContainer`
- `System.ComponentModel.Composition` - MEF attributes
**Dependents (inferred):**
- The View component (`PowerAndBatteryView`) which is injected via constructor
- Shell/Bootstrapper that discovers and loads this MEF export
### 5. Gotchas
- **Stale XML documentation**: The constructor's XML comment references "TechnologyDomainEditViewModel" which appears to be a copy-paste error from another module.
- **Empty lifecycle methods**: All `Initialize` and `Cleanup` methods are empty shells. The module does not perform any initialization or cleanup logic.
- **Unused `ConfirmationRequest`**: While instantiated, `ConfirmationRequest` is never raised anywhere in this class.
- **Hardcoded `HeaderInfo`**: Returns "MainRegion" which may be misleading as it suggests region identification but is a static string.
---

View File

@@ -0,0 +1,81 @@
---
source_files:
- DataPRO/Modules/SystemSettings/PowerAndBattery/ViewModel/PowerAndBatteryViewModel.cs
generated_at: "2026-04-17T16:15:47.040032+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "d288a45f3835b6f3"
---
# ViewModel
### 1. Purpose
This module provides the ViewModel component for the Power and Battery settings UI within the SystemSettings feature area. It follows the MVVM pattern using Prism and MEF, serving as a placeholder view model that integrates with the application's navigation, event aggregation, and dependency injection infrastructure. The module currently provides minimal domain-specific functionality but establishes the structural foundation for power and battery configuration management.
### 2. Public Interface
**Class: `PowerAndBatteryViewModel`**
- Inherits: `BasePropertyChanged`
- Implements: `IPowerAndBatteryViewModel`
- MEF Export: `[Export(typeof(IPowerAndBatteryView))]` with `[PartCreationPolicy(CreationPolicy.Shared)]` (singleton scope)
**Constructor:**
```csharp
public PowerAndBatteryViewModel(IPowerAndBatteryView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)
```
Initializes the view model, sets the View's DataContext to itself, creates interaction requests, and subscribes to `RaiseNotification` and `BusyIndicatorChangeNotification` events.
**Lifecycle Methods:**
- `void Cleanup()` - Empty implementation
- `Task CleanupAsync()` - Returns `Task.CompletedTask`
- `void Initialize()` - Empty implementation
- `void Initialize(object parameter)` - Empty implementation
- `void Initialize(object parameter, object model)` - Empty implementation
- `Task InitializeAsync()` - Returns `Task.CompletedTask`
- `Task InitializeAsync(object parameter)` - Returns `Task.CompletedTask`
- `void Activated()` - Empty implementation
**Properties:**
- `IPowerAndBatteryView View { get; }` - The associated view instance
- `InteractionRequest<Notification> NotificationRequest { get; }` - For raising notification dialogs
- `InteractionRequest<Confirmation> ConfirmationRequest { get; }` - For raising confirmation dialogs
- `bool IsDirty { get; private set; }` - Tracks unsaved changes state
- `bool IsBusy { get; set; }` - Busy indicator state, bound to UI
- `bool IsMenuIncluded { get; set; }` - Menu inclusion flag
- `bool IsNavigationIncluded { get; set; }` - Navigation inclusion flag
- `string HeaderInfo { get; }` - Returns hardcoded "MainRegion"
**Private Event Handlers:**
- `void OnBusyIndicatorNotification(bool eventArg)` - Sets `IsBusy` property from event
- `void OnRaiseNotification(NotificationContentEventArgs eventArgsWithTitle)` - Raises notification dialog via `NotificationRequest.Raise()`
### 3. Invariants
- The `View` property is set at construction and never reassigned.
- `View.DataContext` is always set to `this` (the ViewModel instance) during construction.
- `NotificationRequest` and `ConfirmationRequest` are initialized at construction and never null.
- Event subscriptions use `ThreadOption.PublisherThread` for `BusyIndicatorChangeNotification` with `keepSubscriberReferenceAlive: true`.
- `HeaderInfo` always returns the literal string "MainRegion".
### 4. Dependencies
**Imports (this module depends on):**
- `DTS.Common.Base` - `BasePropertyChanged` base class
- `DTS.Common.Events` - `RaiseNotification`, `BusyIndicatorChangeNotification`, `NotificationContentEventArgs`
- `DTS.Common.Interactivity` - `InteractionRequest<T>`, `Notification`, `Confirmation`
- `DTS.Common.Interface` - `IPowerAndBatteryView`, `IPowerAndBatteryViewModel`
- `Prism.Events` - `IEventAggregator`, `ThreadOption`
- `Prism.Regions` - `IRegionManager`
- `Unity` - `IUnityContainer`
- `System.ComponentModel.Composition` - MEF attributes
**Dependents (inferred):**
- The View component (`PowerAndBatteryView`) which is injected via constructor
- Shell/Bootstrapper that discovers and loads this MEF export
### 5. Gotchas
- **Stale XML documentation**: The constructor's XML comment references "TechnologyDomainEditViewModel" which appears to be a copy-paste error from another module.
- **Empty lifecycle methods**: All `Initialize` and `Cleanup` methods are empty shells. The module does not perform any initialization or cleanup logic.
- **Unused `ConfirmationRequest`**: While instantiated, `ConfirmationRequest` is never raised anywhere in this class.
- **Hardcoded `HeaderInfo`**: Returns "MainRegion" which may be misleading as it suggests region identification but is a static string.
---

View File

@@ -0,0 +1,47 @@
---
source_files:
- DataPRO/Modules/SystemSettings/QASettings/QASettingsModule.cs
generated_at: "2026-04-17T16:46:30.420978+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "285e1d97f4e55a21"
---
# QASettingsModule Documentation
## 1. Purpose
This module provides QA (Quality Assurance) Settings functionality within the DataPRO application. It is a Prism module responsible for registering the QA Settings view and view-model with the Unity dependency injection container. The module also defines a custom `QASettingsImageAttribute` that supplies assembly metadata (image, name, and group) used by the main application shell to display this module as an available component on the main screen.
## 2. Public Interface
### QASettingsModule
**Signature:** `public class QASettingsModule : IModule`
A Prism module that registers QA Settings UI components with the DI container.
| Member | Signature | Description |
|--------|-----------|-------------|
| Constructor | `QASettingsModule(IUnityContainer unityContainer)` | Accepts an injected Unity container reference. |
| `OnInitialized` | `public void OnInitialized(IContainerProvider containerProvider)` | Empty implementation; no initialization logic performed. |
| `RegisterTypes` | `public void RegisterTypes(IContainerRegistry containerRegistry)` | Calls `Initialize()` to perform type registrations. |
**Internal Method:**
- `Initialize()` — Registers `IQASettingsView` to `QASettingsView` and `IQASettingsViewModel` to `QASettingsViewModel` via `_unityContainer.RegisterType<TFrom, TTo>()`.
---
### QASettingsImageAttribute
**Signature:** `public class QASettingsImageAttribute : ImageAttribute`
An assembly-level attribute providing display metadata for the module.
| Member | Return Type | Description |
|--------|-------------|-------------|
| `AssemblyRegion` | `eAssemblyRegion` | Throws `NotImplementedException`. |
| `AssemblyImage` | `BitmapImage` | Returns image loaded via `AssemblyInfo.GetImage(AssemblyNames.QASettings.ToString())`. |
| `AssemblyName` | `string` | Returns `AssemblyNames.QASettings.ToString()`. |
| `AssemblyGroup` | `string` | Returns `eAssemblyGroups.Administrative.ToString()`. |
| `GetAttribute

View File

@@ -0,0 +1,42 @@
---
source_files:
- DataPRO/Modules/SystemSettings/QASettings/Properties/AssemblyInfo.cs
generated_at: "2026-04-17T16:15:04.731518+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "16671d9a7022a987"
---
# Properties
### Purpose
This module contains assembly metadata for the QASettings component. It defines version information, copyright, and COM visibility settings for the QASettings assembly using standard .NET assembly attributes. This is a build-time configuration module with no runtime logic.
### Public Interface
No public types are defined in this module. It contains only assembly-level attributes:
- `AssemblyTitle("QASettings")` - Sets the assembly title
- `AssemblyDescription("")` - Empty description
- `AssemblyProduct("QASettings")` - Product name
- `AssemblyCopyright("Copyright © 2016")` - Copyright notice
- `ComVisible(false)` - COM components not visible by default
- `Guid("7446722e-490d-4f6a-beaf-907947e576d5")` - Type library GUID for COM exposure
- `AssemblyVersion("1.0.0.0")` - Assembly version
- `AssemblyFileVersion("1.0.0.0")` - File version
### Invariants
- AssemblyVersion and AssemblyFileVersion are both fixed at "1.0.0.0"
- ComVisible is always false, meaning types are not visible to COM components by default
- The GUID "7446722e-490d-4f6a-beaf-907947e576d5" uniquely identifies this assembly's type library
### Dependencies
**Depends on:**
- `System.Reflection` - For assembly attribute support
- `System.Runtime.CompilerServices` - For compiler services
- `System.Runtime.InteropServices` - For COM interop attributes
**Depended on by:** Unclear from source alone - this is the assembly info for the QASettings module.
### Gotchas
None identified from source alone.
---

View File

@@ -0,0 +1,35 @@
---
source_files:
- DataPRO/Modules/SystemSettings/QASettings/View/QASettingsView.xaml.cs
generated_at: "2026-04-17T16:15:04.734040+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "0199f1292468a364"
---
# View
### Purpose
This module provides the code-behind for the QASettingsView XAML component. It implements the `IQASettingsView` interface and serves as the visual presentation layer for QA (Quality Assurance) settings configuration within the SystemSettings module hierarchy.
### Public Interface
- **`QASettingsView`** (class, partial) - WPF view component for QA settings
- Signature: `public partial class QASettingsView : IQASettingsView`
- Constructor: `public QASettingsView()` - Initializes the component via `InitializeComponent()`
- Implements `IQASettingsView` interface (defined externally in `DTS.Common.Interface`)
### Invariants
- The view must be initialized via `InitializeComponent()` before use
- The class is partial, indicating a corresponding XAML file (`QASettingsView.xaml`) exists
### Dependencies
**Depends on:**
- `DTS.Common.Interface` - Provides `IQASettingsView` interface
**Depended on by:** Unclear from source alone - likely consumed by a ViewModel or navigation system.
### Gotchas
- The view has no additional logic beyond initialization; all behavior is presumably handled via XAML bindings or an associated ViewModel not shown in this source.
- The relationship between this view and its ViewModel is not defined in this source file.
---

View File

@@ -0,0 +1,81 @@
---
source_files:
- DataPRO/Modules/SystemSettings/QASettings/ViewModel/QASettingsViewModel.cs
generated_at: "2026-04-17T16:15:47.040916+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "5648af1b9b10131b"
---
# ViewModel
### 1. Purpose
This module provides the ViewModel component for the Power and Battery settings UI within the SystemSettings feature area. It follows the MVVM pattern using Prism and MEF, serving as a placeholder view model that integrates with the application's navigation, event aggregation, and dependency injection infrastructure. The module currently provides minimal domain-specific functionality but establishes the structural foundation for power and battery configuration management.
### 2. Public Interface
**Class: `PowerAndBatteryViewModel`**
- Inherits: `BasePropertyChanged`
- Implements: `IPowerAndBatteryViewModel`
- MEF Export: `[Export(typeof(IPowerAndBatteryView))]` with `[PartCreationPolicy(CreationPolicy.Shared)]` (singleton scope)
**Constructor:**
```csharp
public PowerAndBatteryViewModel(IPowerAndBatteryView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)
```
Initializes the view model, sets the View's DataContext to itself, creates interaction requests, and subscribes to `RaiseNotification` and `BusyIndicatorChangeNotification` events.
**Lifecycle Methods:**
- `void Cleanup()` - Empty implementation
- `Task CleanupAsync()` - Returns `Task.CompletedTask`
- `void Initialize()` - Empty implementation
- `void Initialize(object parameter)` - Empty implementation
- `void Initialize(object parameter, object model)` - Empty implementation
- `Task InitializeAsync()` - Returns `Task.CompletedTask`
- `Task InitializeAsync(object parameter)` - Returns `Task.CompletedTask`
- `void Activated()` - Empty implementation
**Properties:**
- `IPowerAndBatteryView View { get; }` - The associated view instance
- `InteractionRequest<Notification> NotificationRequest { get; }` - For raising notification dialogs
- `InteractionRequest<Confirmation> ConfirmationRequest { get; }` - For raising confirmation dialogs
- `bool IsDirty { get; private set; }` - Tracks unsaved changes state
- `bool IsBusy { get; set; }` - Busy indicator state, bound to UI
- `bool IsMenuIncluded { get; set; }` - Menu inclusion flag
- `bool IsNavigationIncluded { get; set; }` - Navigation inclusion flag
- `string HeaderInfo { get; }` - Returns hardcoded "MainRegion"
**Private Event Handlers:**
- `void OnBusyIndicatorNotification(bool eventArg)` - Sets `IsBusy` property from event
- `void OnRaiseNotification(NotificationContentEventArgs eventArgsWithTitle)` - Raises notification dialog via `NotificationRequest.Raise()`
### 3. Invariants
- The `View` property is set at construction and never reassigned.
- `View.DataContext` is always set to `this` (the ViewModel instance) during construction.
- `NotificationRequest` and `ConfirmationRequest` are initialized at construction and never null.
- Event subscriptions use `ThreadOption.PublisherThread` for `BusyIndicatorChangeNotification` with `keepSubscriberReferenceAlive: true`.
- `HeaderInfo` always returns the literal string "MainRegion".
### 4. Dependencies
**Imports (this module depends on):**
- `DTS.Common.Base` - `BasePropertyChanged` base class
- `DTS.Common.Events` - `RaiseNotification`, `BusyIndicatorChangeNotification`, `NotificationContentEventArgs`
- `DTS.Common.Interactivity` - `InteractionRequest<T>`, `Notification`, `Confirmation`
- `DTS.Common.Interface` - `IPowerAndBatteryView`, `IPowerAndBatteryViewModel`
- `Prism.Events` - `IEventAggregator`, `ThreadOption`
- `Prism.Regions` - `IRegionManager`
- `Unity` - `IUnityContainer`
- `System.ComponentModel.Composition` - MEF attributes
**Dependents (inferred):**
- The View component (`PowerAndBatteryView`) which is injected via constructor
- Shell/Bootstrapper that discovers and loads this MEF export
### 5. Gotchas
- **Stale XML documentation**: The constructor's XML comment references "TechnologyDomainEditViewModel" which appears to be a copy-paste error from another module.
- **Empty lifecycle methods**: All `Initialize` and `Cleanup` methods are empty shells. The module does not perform any initialization or cleanup logic.
- **Unused `ConfirmationRequest`**: While instantiated, `ConfirmationRequest` is never raised anywhere in this class.
- **Hardcoded `HeaderInfo`**: Returns "MainRegion" which may be misleading as it suggests region identification but is a static string.
---

View File

@@ -0,0 +1,33 @@
---
source_files:
- DataPRO/Modules/SystemSettings/RealtimeSettings/RealtimeSettingsModule.cs
generated_at: "2026-04-17T16:30:25.202996+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "7592cc8957fb8dbb"
---
# RealtimeSettings
### Purpose
This module provides Realtime Settings functionality within the DTS application framework. It is a Prism module that registers its View and ViewModel with the Unity dependency injection container, allowing the application to manage real-time configuration settings. The module exposes metadata for display on the main screen as an administrative component.
### Public Interface
**RealtimeSettingsModule**
- `RealtimeSettingsModule(IUnityContainer unityContainer)` — Constructor that receives the Unity container via dependency injection.
- `void Initialize()` — Registers `IRealtimeSettingsView` to `RealtimeSettingsView` and `IRealtimeSettingsViewModel` to `RealtimeSettingsViewModel` with the Unity container.
- `void OnInitialized(IContainerProvider containerProvider)` — Empty implementation; no initialization logic executed.
- `void RegisterTypes(IContainerRegistry containerRegistry)` — Calls `Initialize()` to perform type registrations.
**RealtimeSettingsImageAttribute**
- `RealtimeSettingsImageAttribute()` — Default constructor.
- `RealtimeSettingsImageAttribute(string s)` — Constructor accepting a string parameter (unused).
- `override eAssemblyRegion AssemblyRegion` — Throws `NotImplementedException`.
- `override BitmapImage AssemblyImage` — Returns the image retrieved via `AssemblyInfo.GetImage(AssemblyNames.RealtimeSettings.ToString())`.
- `override string AssemblyName` — Returns `AssemblyNames.RealtimeSettings.ToString()`.
- `override string AssemblyGroup` — Returns `eAssemblyGroups.Administrative.ToString()`.
- `override Type GetAttributeType()` — Returns `typeof(ImageAttribute)`.
- `override BitmapImage GetAssemblyImage()` — Returns `AssemblyImage`.
- `override string GetAssemblyName()` — Returns `AssemblyName`.
- `override eAssemblyRegion GetAssemblyRegion()` — Throws `NotImplementedException

View File

@@ -0,0 +1,29 @@
---
source_files:
- DataPRO/Modules/SystemSettings/RealtimeSettings/Properties/AssemblyInfo.cs
generated_at: "2026-04-17T16:30:37.201000+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "05a20efb429f05b5"
---
# Properties
### Purpose
This module contains standard .NET assembly metadata for the `RealtimeSettings` component. It provides versioning, culture, and COM visibility information for the compiled assembly. It does not contain executable logic.
### Public Interface
* `AssemblyTitle("RealtimeSettings")`: Specifies the assembly title.
* `AssemblyVersion("1.0.0.0")`: Specifies the assembly version.
* `AssemblyFileVersion("1.0.0.0")`: Specifies the file version.
* `ComVisible(false)`: Makes types in this assembly not visible to COM components.
* `Guid("7446722e-490d-4f6a-beaf-907947e576d5")`: Specifies the GUID for the type library ID if exposed to COM.
### Invariants
* Standard .NET assembly attributes are applied at the assembly level.
### Dependencies
* **Depends on:** `System.Reflection`, `System.Runtime.CompilerServices`, `System.Runtime.InteropServices`.
### Gotchas
None identified from source alone.

View File

@@ -0,0 +1,56 @@
---
source_files:
- DataPRO/Modules/SystemSettings/RealtimeSettings/Resources/TranslateExtension.cs
- DataPRO/Modules/SystemSettings/RealtimeSettings/Resources/StringResources.Designer.cs
generated_at: "2026-04-17T15:57:56.905149+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "68b065923840220c"
---
# Documentation: RealtimeSettings.Resources
## 1. Purpose
This module provides localization infrastructure for the RealtimeSettings feature within the DataPRO SystemSettings module. It consists of a XAML markup extension (`TranslateExtension`) for declarative string lookup in UI markup, and a strongly-typed resource class (`StringResources`) that wraps a `.resx` resource file containing user-facing strings for realtime data acquisition settings such as sample rates, polling delays, and meter mode configuration.
---
## 2. Public Interface
### `TranslateExtension` (class)
**Namespace:** `RealtimeSettings.Resources`
**Inheritance:** `System.Windows.Markup.MarkupExtension`
A XAML markup extension that enables inline resource string lookup using the syntax `{Resources:Translate KeyName}`.
| Member | Signature | Description |
|--------|-----------|-------------|
| Constructor | `TranslateExtension(string key)` | Creates an instance with the specified resource key. The key is stored in a readonly field `_key`. |
| `ProvideValue` | `override object ProvideValue(IServiceProvider serviceProvider)` | Returns the localized string for `_key` from `StringResources.ResourceManager`. Returns `#stringnotfound#` if `_key` is null or empty. Returns `#stringnotfound# {key}` if the key is not found in resources. |
**Attribute:** `[MarkupExtensionReturnType(typeof(string))]`
---
### `StringResources` (class)
**Namespace:** `RealtimeSettings.Resources`
**Accessibility:** `internal`
An auto-generated strongly-typed resource class providing access to localized strings.
| Member | Signature | Description |
|--------|-----------|-------------|
| `ResourceManager` | `static ResourceManager ResourceManager { get; }` | Lazily-initialized cached `ResourceManager` instance for the `RealtimeSettings.Resources.StringResources` resource bundle. |
| `Culture` | `static CultureInfo Culture { get; set; }` | Overrides `CurrentUICulture` for resource lookups. Marked with `EditorBrowsableState.Advanced`. |
**Resource String Properties (all `internal static string`):**
| Property | Description (from source comments) |
|----------|-------------------------------------|
| `DelayBetweenPolls` | "Delay between polls" |
| `DelayBetweenPollsHelp` | Period between retrieving data from DAS (ms). Warns about data dropout vs. resource stress. |
| `HighDelay` | "High draw delay" |
| `HighDelayHelp` | Maximum time (ms) between UI updates when data is available. |
| `LowDelay` | "Low draw delay" |
| `LowDelayHelp`

View File

@@ -0,0 +1,36 @@
---
source_files:
- DataPRO/Modules/SystemSettings/RealtimeSettings/View/RealtimeSettingsView.xaml.cs
generated_at: "2026-04-17T16:15:27.065732+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "9155b463aa51aafe"
---
# View
### Purpose
This module provides the XAML code-behind for the ISO Settings view in the System Settings module. It serves as a passive view component in an MVVM architecture, implementing the `IISOSettingsView` interface to enable view-model binding and dependency injection. The view acts as a UI container for ISO-related configuration options within the larger DataPRO application.
### Public Interface
**`ISOSettingsView` (class)**
- Signature: `public partial class ISOSettingsView : IISOSettingsView`
- Constructor: `public ISOSettingsView()` - Initializes the component by calling `InitializeComponent()`, which loads the associated XAML layout.
- Implements `IISOSettingsView` interface (defined externally in `DTS.Common.Interface`).
### Invariants
- The view must be paired with a corresponding XAML file (`ISOSettingsView.xaml`) that defines the visual layout.
- The view is a partial class, meaning its complete definition spans both the code-behind and XAML-generated code.
### Dependencies
- **Depends on:**
- `System.ComponentModel` (namespace imported but not directly used in visible code)
- `DTS.Common.Interface` (provides `IISOSettingsView` interface)
- **Depended on by:** Not determinable from source alone; likely consumed by a ViewModel or module registration logic.
### Gotchas
- The `System.ComponentModel` using directive is imported but not visibly used in the code-behind. This may be residual or used by the XAML-generated partial class.
- No DataContext assignment is present in the code-behind; this is likely handled externally by a ViewModel or through XAML binding.
---

View File

@@ -0,0 +1,30 @@
---
source_files:
- DataPRO/Modules/SystemSettings/RealtimeSettings/ViewModel/RealtimeSettingsViewModel.cs
generated_at: "2026-04-17T16:15:27.065009+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "45601297f81ff1b3"
---
# ViewModel
### Purpose
This module provides the ViewModel for the Realtime Settings view, managing UI state and coordinating between the view and the broader application infrastructure. It handles user notification display, busy indicator state, and exposes properties for configuring realtime sample rates and delays. The ViewModel follows the MVVM pattern using Prism and Unity for dependency injection and event aggregation.
### Public Interface
**`RealtimeSettingsViewModel` (class)**
- Signature: `public class RealtimeSettingsViewModel : BasePropertyChanged, IRealtimeSettingsViewModel`
- Attributes: `[Export(typeof(IRealtimeSettingsView))]`, `[PartCreationPolicy(CreationPolicy.Shared)]`
**Constructor:**
- `public RealtimeSettingsViewModel(IRealtimeSettingsView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)`
- Initializes the ViewModel, sets the View's DataContext to itself, creates `NotificationRequest` and `ConfirmationRequest` interaction requests, subscribes to `RaiseNotification` and `BusyIndicatorChangeNotification` events.
**Properties:**
- `IRealtimeSettingsView View { get; private set; }` - The associated view instance.
- `InteractionRequest<Notification> NotificationRequest { get; private set; }` - Used to raise notification dialogs.
- `InteractionRequest<Confirmation> ConfirmationRequest { get; private set; }` - Used to raise confirmation dialogs.
- `string RealtimeSampleRate { get; set; }` - Backing field: `_realtimeSampleRate`. Raises property changed for "RealtimeSampleRate".
- `string RealtimeSampleRates { get; set; }` - Backing field: `_realtimeSampleRates`. Raises property changed for both "Real

View File

@@ -0,0 +1,24 @@
---
source_files:
- DataPRO/Modules/SystemSettings/Tables/TablesSettingsModule.cs
generated_at: "2026-04-17T16:14:53.593290+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "a7eb20bb61914337"
---
# Tables
### Purpose
This module is a Prism/Unity module that registers the Tables Settings feature's view and view model with the dependency injection container. It also provides an `ImageAttribute` implementation (`TablesSettingsImageAttribute`) for assembly metadata used by the main shell to display the module as an available component in the Administrative group.
### Public Interface
- **`TablesSettingsModule`** (class, implements `IModule`)
- `TablesSettingsModule(IUnityContainer unityContainer)` — Constructor accepting the Unity container via DI.
- `void Initialize()` — Registers `ITablesSettingsView``TablesSettingsView` and `ITablesSettingsViewModel``TablesSettingsViewModel` with Unity (transient, not singleton despite comment).
- `void OnInitialized(IContainerProvider containerProvider)` — Empty implementation.
- `void RegisterTypes(IContainerRegistry containerRegistry)` — Calls `Initialize()`.
- **`TablesSettingsImageAttribute`** (class, extends `ImageAttribute`)
- `eAssemblyRegion AssemblyRegion` — Throws `NotImplementedException

View File

@@ -0,0 +1,19 @@
---
source_files:
- DataPRO/Modules/SystemSettings/Tables/Properties/AssemblyInfo.cs
generated_at: "2026-04-17T16:30:34.011493+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "b49e1d3e5ad0f018"
---
# Properties
### Purpose
This module contains assembly metadata for the TablesSettings assembly. It is a standard .NET assembly information file that defines versioning, copyright, and COM visibility settings for the TablesSettings component within the SystemSettings module.
### Public Interface
No public functions, classes, or methods are defined. This module consists solely of assembly-level attributes:
- `AssemblyTitle("TablesSettings")` - Sets the assembly title
- `AssemblyProduct("TablesSettings")` - Sets the product name
- `AssemblyVersion("1.

View File

@@ -0,0 +1,13 @@
---
source_files:
- DataPRO/Modules/SystemSettings/Tables/View/TablesSettingsView.xaml.cs
generated_at: "2026-04-17T16:46:45.576887+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "edce8708a27b35f9"
---
# Documentation: TablesSettingsView.xaml.cs
## 1. Purpose
This module serves as the code-behind class for the Tables Settings user interface within a WPF application. It provides the interaction logic for the `TablesSettingsView.xaml` component and implements the `ITablesSettingsView` interface, allowing it to be consumed

View File

@@ -0,0 +1,23 @@
---
source_files:
- DataPRO/Modules/SystemSettings/Tables/ViewModel/TablesSettingsViewModel.cs
generated_at: "2026-04-17T16:46:36.908882+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "8a45d922961362a0"
---
# Documentation: TablesSettingsViewModel.cs
## 1. Purpose
`TablesSettingsViewModel` is a Prism/MEF-based view model for the Tables Settings module within the SystemSettings subsystem. It serves as the presentation logic layer for configuring table-related settings, implementing the MVVM pattern by binding to an `ITablesSettingsView` and exposing properties for UI state management (busy indicators, menu/navigation inclusion flags). The class participates in the application's event aggregation system to handle cross-component notifications and busy state changes.
---
## 2. Public Interface
### Constructor
```csharp
public TablesSettingsViewModel(

View File

@@ -0,0 +1,51 @@
---
source_files:
- DataPRO/Modules/SystemSettings/TestSettings/TestSettingsModule.cs
generated_at: "2026-04-17T16:46:56.534471+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "ff6ed05b80cd7e58"
---
# Documentation: TestSettingsModule
## 1. Purpose
This module serves as a Prism-based plugin for the "TestSettings" functionality within a modular WPF application. It is responsible for registering the Test Settings view and view model with the Unity dependency injection container, enabling the main application to discover and display this module's UI. The module also provides assembly metadata (image, name, group) via a custom attribute for display on the main screen's component list.
---
## 2. Public Interface
### `TestSettingsModule` (Class)
Implements `Prism.Modularity.IModule`. The primary entry point for the module.
| Member | Signature | Description |
|--------|-----------|-------------|
| Constructor | `TestSettingsModule(IUnityContainer unityContainer)` | Accepts a Unity container via constructor injection. |
| `RegisterTypes` | `void RegisterTypes(IContainerRegistry containerRegistry)` | Registers `ITestSettingsView``TestSettingsView` and `ITestSettingsViewModel``TestSettingsViewModel` with Unity. Internally calls `Initialize()`. |
| `OnInitialized` | `void OnInitialized(IContainerProvider containerProvider)` | Empty implementation; no initialization logic executed. |
| `Initialize` | `void Initialize()` | Performs the actual type registrations with `_unityContainer`. |
### `TestSettingsImageAttribute` (Class)
Extends `ImageAttribute`. Provides metadata about the assembly for UI display purposes.
| Member | Signature | Description |
|--------|-----------|-------------|
| `AssemblyRegion` | `override eAssemblyRegion AssemblyRegion` | **Throws `NotImplementedException`** when accessed. |
| `AssemblyImage` | `override BitmapImage AssemblyImage { get; }` | Loads and returns the assembly image via `AssemblyInfo.GetImage(AssemblyNames.TestSettings.ToString())`. |
| `AssemblyName` | `override string AssemblyName { get; }` | Returns `AssemblyNames.TestSettings.ToString()`. |
| `AssemblyGroup` | `override string AssemblyGroup { get; }` | Returns `eAssemblyGroups.Administrative.ToString()`. |
| `GetAttributeType` | `override Type GetAttributeType()` | Returns `typeof(ImageAttribute)`. |
| `GetAssemblyImage` | `override BitmapImage GetAssemblyImage()` | Returns `AssemblyImage`. |
| `GetAssemblyName` | `override string GetAssemblyName()` | Returns `AssemblyName`. |
| `GetAssemblyGroup` | `override string GetAssemblyGroup()` | Returns `AssemblyGroup`. |
| `GetAssemblyRegion` | `override eAssemblyRegion GetAssemblyRegion()` | **Throws `NotImplementedException`**. |
---
## 3. Invariants
- **Container Dependency**: `_unityContainer` is injected via constructor and is expected to be non-null; no null-check is performed.
- **Type Registration**: `ITestSettingsView` must resolve to `TestSettingsView`, and `ITestSettingsViewModel` must resolve to `TestSettingsViewModel`. These types are not defined in this file but are expected to exist elsewhere in the assembly.
- **Assembly Metadata**: `AssemblyName`

View File

@@ -0,0 +1,47 @@
---
source_files:
- DataPRO/Modules/SystemSettings/TestSettings/Properties/AssemblyInfo.cs
generated_at: "2026-04-17T16:15:55.797124+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "0669db189bdc2425"
---
# Properties
### Purpose
This module contains assembly-level metadata and configuration attributes for the TestSettings assembly. It defines the assembly's identity, version information, COM visibility settings, and other compile-time attributes using standard .NET assembly attributes.
### Public Interface
This module exposes no public types. It consists solely of assembly-level attributes:
- **`[assembly: AssemblyTitle("TestSettings")]`** - Sets the assembly title.
- **`[assembly: AssemblyDescription("")]`** - Empty description.
- **`[assembly: AssemblyConfiguration("")]`** - Empty configuration.
- **`[assembly: AssemblyCompany("")]`** - Empty company name.
- **`[assembly: AssemblyProduct("TestSettings")]`** - Product name.
- **`[assembly: AssemblyCopyright("Copyright © 2016")]`** - Copyright notice.
- **`[assembly: AssemblyTrademark("")]`** - Empty trademark.
- **`[assembly: AssemblyCulture("")]`** - Empty culture (neutral).
- **`[assembly: ComVisible(false)]`** - Disables COM visibility for all types.
- **`[assembly: Guid("7446722e-490d-4f6a-beaf-907947e576d5")]`** - Unique identifier for the typelib.
- **`[assembly: AssemblyVersion("1.0.0.0")]`** - Assembly version.
- **`[assembly: AssemblyFileVersion("1.0.0.0")]`** - File version.
### Invariants
- The assembly version and file version are both fixed at "1.0.0.0".
- COM visibility is disabled for all types in the assembly.
- The GUID `7446722e-490d-4f6a-beaf-907947e576d5` uniquely identifies this assembly's typelib.
### Dependencies
**Depends on:**
- `System.Reflection`
- `System.Runtime.CompilerServices`
- `System.Runtime.InteropServices`
**Depended on by:**
- The entire TestSettings module depends on this for assembly identity.
### Gotchas
None identified from source alone.
---

View File

@@ -0,0 +1,20 @@
---
source_files:
- DataPRO/Modules/SystemSettings/TestSettings/View/TestSettingsView.xaml.cs
generated_at: "2026-04-17T16:15:55.799570+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "2c4d49d0c7d99cef"
---
# View
### Purpose
This module provides the code-behind for the TestSettingsView XAML component, implementing the `ITestSettingsView` interface. It serves as the visual presentation layer (View) in the MVVM architecture, with its DataContext set by the associated ViewModel.
### Public Interface
- **`TestSettingsView()`** - Parameterless constructor that calls `InitializeComponent()` to load the XAML-defined UI.
- Implements **`ITestSettingsView`** - Marker interface for the view (no additional members visible in this file).
### Invariants
- The view is a partial class, with the other part defined in XAML (`TestSettingsView.xaml`

View File

@@ -0,0 +1,24 @@
---
source_files:
- DataPRO/Modules/SystemSettings/TestSettings/ViewModel/TestSettingsViewModel.cs
generated_at: "2026-04-17T16:30:37.201491+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "6b277daa5329e975"
---
# ViewModel
### Purpose
This module implements `TestSettingsViewModel`, a view model responsible for managing the UI state and interactions for the Test Settings module. It acts as a bridge between the view (`ITestSettingsView`) and the application infrastructure (Region Manager, Event Aggregator, Unity Container), handling notifications and busy states.
### Public Interface
* `public class TestSettingsViewModel : ITestSettingsViewModel`
* Constructor: `TestSettingsViewModel(ITestSettingsView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)`
* `public ITestSettingsView View { get; private set; }`
* Holds the associated view instance.
* `public InteractionRequest<Notification> NotificationRequest { get; private set; }`
* Used to raise popup notifications in

View File

@@ -0,0 +1,20 @@
---
source_files:
- DataPRO/Modules/SystemSettings/UISettings/UISettingsModule.cs
generated_at: "2026-04-17T16:30:18.438404+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "1345642786b3e17f"
---
# UISettings
### Purpose
This module provides user interface configuration settings within the SystemSettings subsystem. It is a Prism module that registers its view (`UISettingsView`) and view model (`UISettingsViewModel`) with the Unity dependency injection container, allowing users to configure UI-related application preferences.
### Public Interface
**UISettingsModule** (implements `IModule`)
- `UISettingsModule(IUnityContainer unityContainer)` - Constructor accepting a Unity container instance via dependency injection.
- `void Initialize()` - Registers types with Unity: `IUISettingsView``UISettingsView`, `IUISettingsViewModel``UISettingsViewModel`.
- `void OnInitialized

View File

@@ -0,0 +1,26 @@
---
source_files:
- DataPRO/Modules/SystemSettings/UISettings/Properties/AssemblyInfo.cs
generated_at: "2026-04-17T16:14:39.115871+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "a3e3207b6900c0bf"
---
# Properties
### Purpose
This module contains assembly metadata for the DBImportExportModule assembly. It is a standard .NET Framework AssemblyInfo file that defines version information, COM visibility settings, and a unique GUID for the assembly. It exists solely to provide assembly-level configuration and identification for the DBImportExport module.
### Public Interface
No public types are defined. This file contains only assembly-level attributes:
- `AssemblyTitle("DBImportExportModule")` - Sets the assembly title
- `AssemblyProduct("DBImportExportModule")` - Sets the product name
- `AssemblyCopyright("Copyright © 2016")` - Sets copyright information
- `ComVisible(false)` - Disables COM visibility for types in this assembly
- `Guid("bc9afa01-e327-4133-8818-141281f9b3a0")` - Unique identifier for COM interop
- `AssemblyVersion("1.0.0.0")` - Assembly version
- `AssemblyFileVersion("1.0.0.0")` - File version
### Invariants
- The GUID `bc9afa01-e327-4133

View File

@@ -0,0 +1,51 @@
---
source_files:
- DataPRO/Modules/SystemSettings/UISettings/View/ISOSettingsView.xaml.cs
generated_at: "2026-04-17T16:46:46.571447+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "3eee95fa845b86cd"
---
# Documentation: UISettingsView
## 1. Purpose
This module provides a WPF view component for UI settings configuration within the SystemSettings module hierarchy. It serves as a code-behind file for a XAML-based user interface, implementing the `IUISettingsView` interface to integrate with the broader application architecture. The view is responsible for rendering and managing user interface settings, though the actual UI layout is defined in the associated XAML file.
## 2. Public Interface
### `UISettingsView` (Class)
**Namespace:** `UISettings`
**Implements:** `IUISettingsView`
**Constructor:**
```csharp
public UISettingsView()
```
Initializes a new instance of the `UISettingsView` class. The constructor calls `InitializeComponent()`, which loads and instantiates the XAML-defined UI elements. This is the standard WPF pattern for code-behind initialization.
## 3. Invariants
- The class is declared `partial`, indicating it is compiled together with a XAML-generated partial class. The XAML file must exist and be properly configured.
- The class must implement `IUISettingsView`, implying contractual obligations defined by that interface (specifics not visible in this source).
- `InitializeComponent()` must be called exactly once during construction for the view to function correctly.
## 4. Dependencies
**This module depends on:**
- `DTS.Common.Interface` — Provides the `IUISettingsView` interface that this class implements.
- WPF infrastructure (implicit) — Required for `InitializeComponent()` and XAML parsing.
- Associated XAML file (`ISOSettingsView.xaml`) — Defines the visual composition of the view.
**What depends on this module:**
- Not determinable from this source file alone. Likely consumed by a settings module container, view model, or dependency injection framework within the `SystemSettings` module.
## 5. Gotchas
- **Naming mismatch:** The source file is named `ISOSettingsView.xaml.cs`, but the class is named `UISettingsView`. This discrepancy could indicate a historical rename, a copy-paste artifact, or a naming convention inconsistency. The actual XAML file name and class name must align for WPF to function correctly.
- **Minimal code-behind:** The class contains no additional logic beyond initialization. Any event handlers, data binding setup, or interaction logic may be defined elsewhere (possibly in the XAML, a view model, or another partial class definition not provided).

View File

@@ -0,0 +1,36 @@
---
source_files:
- DataPRO/Modules/SystemSettings/UISettings/ViewModel/ISOSettingsViewModel.cs
generated_at: "2026-04-17T16:46:49.279114+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "5f572b9f7fac2a33"
---
# Documentation: UISettingsViewModel
## 1. Purpose
`UISettingsViewModel` is a Prism-based view model within the `UISettings` namespace that serves as the presentation logic handler for UI settings configuration. It implements `IUISettingsViewModel` and coordinates between its associated view (`IUISettingsView`) and the broader application infrastructure through Prism's event aggregation and region management. The class provides notification and confirmation dialog capabilities, busy state management, and exposes UI configuration flags for menu and navigation inclusion.
---
## 2. Public Interface
### Constructor
```csharp
public UISettingsViewModel(IUISettingsView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)
```
Initializes the view model, sets the view's `DataContext` to itself, creates interaction requests, and subscribes to `RaiseNotification` and `BusyIndicatorChangeNotification` events.
### Properties
| Property | Type | Description |
|----------|------|-------------|
| `View` | `IUISettingsView` | The associated view instance. |
| `NotificationRequest` | `InteractionRequest<Notification>` | Interaction request for displaying notification dialogs. |
| `ConfirmationRequest` | `InteractionRequest<Confirmation>` | Interaction request for displaying confirmation dialogs. |
| `IsDirty` | `bool` | Indicates whether the view model has unsaved changes. Private setter only. |
| `IsBusy` | `bool` | Controls busy indicator state. Bound to `BusyIndicatorChangeNotification` events. |
| `IsMenuIncluded` | `bool` | Flag indicating whether menu is included. |
| `IsNavigation