72 lines
2.7 KiB
Markdown
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
|