Files
DP44/docs/ai/DataPRO/Modules/Database/DatabaseServices/View.md
2026-04-17 14:55:32 -04:00

72 lines
2.7 KiB
Markdown

---
source_files:
- DataPRO/Modules/Database/DatabaseServices/View/DatabaseStatusBarView.xaml.cs
- DataPRO/Modules/Database/DatabaseServices/View/DatabaseCopyView.xaml.cs
- DataPRO/Modules/Database/DatabaseServices/View/DatabaseSwitchView.xaml.cs
generated_at: "2026-04-17T16:36:18.725754+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "9b3e32201b851fc1"
---
# Documentation: Database View Components
## 1. Purpose
This module provides WPF view components for database-related UI operations within the DatabaseServices namespace. It contains three code-behind classes—`DatabaseStatusBarView`, `DatabaseCopyView`, and `DatabaseSwitchView`—that serve as the visual layer for displaying database status, copying databases, and switching between local/remote database connections respectively. These views implement interfaces from `DTS.Common.Interface.Database` and delegate business logic to associated ViewModels via WPF data binding.
---
## 2. Public Interface
### `DatabaseStatusBarView`
**Namespace:** `DatabaseServices`
**Implements:** `IDatabaseStatusBarView`
```csharp
public DatabaseStatusBarView()
```
Default constructor. Calls `InitializeComponent()` to load the associated XAML layout. No additional public members are exposed beyond the interface implementation.
---
### `DatabaseCopyView`
**Namespace:** `DatabaseServices`
**Implements:** `IDatabaseCopyView`
```csharp
public DatabaseCopyView()
```
Default constructor. Calls `InitializeComponent()` to load the associated XAML layout.
```csharp
private void Copy_Click(object sender, RoutedEventArgs e)
```
Event handler for the copy button click. Casts `sender` to `Control`, retrieves the `DataContext` as `IDatabaseCopyViewModel`, and invokes `vm.CopyDatabase()`.
---
### `DatabaseSwitchView`
**Namespace:** `DatabaseServices`
**Implements:** `IDatabaseSwitchView`
```csharp
public DatabaseSwitchView()
```
Default constructor. Calls `InitializeComponent()` to load the associated XAML layout.
```csharp
private void SwitchToLocal_Click(object sender, RoutedEventArgs e)
```
Event handler for switching to local database. Casts `sender` to `Control`, retrieves the `DataContext` as `IDatabaseSwitchViewModel`, and invokes `vm.SwitchLocal()`.
```csharp
private void SwitchToRemote_Click(object sender, RoutedEventArgs e)
```
Event handler for switching to remote database. Casts `sender` to `Control`, retrieves the `DataContext` as `IDatabaseSwitchViewModel`, and invokes `vm.SwitchRemote()`.
---
## 3. Invariants
- **DataContext Contract:** `DatabaseCopyView` requires its `DataContext` to be an instance of `IDatabaseCopyViewModel`. `DatabaseSwitchView` requires its `DataContext` to be an instance of `IDatabaseSwitchViewModel`. Event handlers will fail with invalid