3.7 KiB
3.7 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |
|---|---|---|---|---|---|
|
2026-04-17T16:30:18.435175+00:00 | zai-org/GLM-5-FP8 | 1 | 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)- CallsInitialize()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 viaAssemblyInfo.GetImage(AssemblyNames.DB.ToString()).string AssemblyName(getter) - Returns assembly name string.string AssemblyGroup(getter) - ReturnseAssemblyGroups.Administrative.ToString().Type GetAttributeType()- Returnstypeof(ImageAttribute).BitmapImage GetAssemblyImage()- ReturnsAssemblyImage.string GetAssemblyName()- ReturnsAssemblyName.string GetAssemblyGroup()- ReturnsAssemblyGroup.eAssemblyRegion AssemblyRegion(getter) - ThrowsNotImplementedException.eAssemblyRegion GetAssemblyRegion()- ThrowsNotImplementedException.
Invariants
- The
_unityContainerfield must be populated via constructor injection beforeInitialize()is called. - Type registrations use Unity's default (transient) lifetime, not singleton, despite the comment claiming singleton registration.
DBImageAttributeis restricted to assembly-level targets (AttributeTargets.Assembly) and cannot be applied multiple times.
Dependencies
Imports:
DTS.Common- ProvidesAssemblyInfo,AssemblyNames,eAssemblyGroups,eAssemblyRegion.DTS.Common.Interface- ProvidesImageAttribute, view/model interfaces (IDBImportView,IDBExportView,IDBViewModel).Prism.Modularity- ProvidesIModule,ModuleAttribute.Prism.Ioc- ProvidesIContainerProvider,IContainerRegistry.Unity- ProvidesIUnityContainer.System.ComponentModel.Composition- ProvidesExportAttribute.System.Windows.Media.Imaging- ProvidesBitmapImage.
Dependents: Not identifiable from source alone; likely consumed by the main application shell/module loader.
Gotchas
- BUG: The
AssemblyNameproperty returnsAssemblyNames.PowerAndBattery.ToString()instead ofAssemblyNames.DB.ToString(). This appears to be a copy-paste error from the PowerAndBattery module. - The
AssemblyRegionproperty andGetAssemblyRegion()method throwNotImplementedExceptionat runtime if called. - The comment claims "singleton" registration, but
RegisterTyperegisters types as transient by default in Unity. UseRegisterSingletonorRegisterType<TFrom, TTo>(new ContainerControlledLifetimeManager())for true singleton behavior. - The
DBImageAttribute(string s)constructor parametersis accepted but never used.