init
This commit is contained in:
@@ -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")]
|
||||
@@ -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.
|
||||
|
||||
---
|
||||
@@ -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.
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user