Files
DP44/enriched-partialglm/Common/DTS.CommonCore/Interface/SystemSettings/DB.md
2026-04-17 14:55:32 -04:00

4.0 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Interface/SystemSettings/DB/IDBImportView.cs
Common/DTS.CommonCore/Interface/SystemSettings/DB/IDBExportView.cs
Common/DTS.CommonCore/Interface/SystemSettings/DB/IDBViewModel.cs
2026-04-16T12:20:53.510446+00:00 zai-org/GLM-5-FP8 1 7e29e0cdd222a5b1

Documentation: DTS.Common.Interface (DB Import/Export Views)

1. Purpose

This module defines the contract for database import and export functionality within the system settings domain. It provides three interfaces—IDBImportView, IDBExportView, and IDBViewModel—that establish the structure for view models handling file-based data transfer operations. The module abstracts the import/export workflow, allowing views to be swapped or mocked while maintaining a consistent interface for XML-based data serialization.


2. Public Interface

IDBImportView

Signature: public interface IDBImportView : IBaseView { }

A marker interface extending IBaseView. Defines no members of its own; exists to identify views responsible for import operations.


IDBExportView

Signature: public interface IDBExportView : IBaseView { }

A marker interface extending IBaseView. Defines no members of its own; exists to identify views responsible for export operations.


IDBViewModel

Signature: public interface IDBViewModel : IBaseViewModel

Defines the contract for a view model that orchestrates database import/export operations.

Properties:

Name Type Access Description
ImportView IDBImportView get/set Reference to the import view instance
ExportView IDBExportView get/set Reference to the export view instance
ImportFileName string get/set File path to import from
ImportStatusText string get/set Status message for import operations
ExportFileName string get/set File path to export to
ExportData string get/set Formatted XML string to write to the export file
ImportData string get/set Formatted XML string read from the import file

Methods:

Name Return Type Description
Export() void Exports the contents of ExportData to the file specified by ExportFileName

3. Invariants

  • IDBImportView and IDBExportView must always be assignable to IBaseView.
  • IDBViewModel must always be assignable to IBaseViewModel.
  • ExportData and ImportData are expected to contain formatted XML strings (as stated in source comments).
  • The Export() method is expected to use the current values of ExportFileName and ExportData at the time of invocation.

4. Dependencies

This module depends on:

  • DTS.Common.Base — Provides IBaseView and IBaseViewModel base interfaces.

What depends on this module:

  • Cannot be determined from the provided source files alone. Consumers would be concrete implementations of these interfaces and any code that references IDBViewModel, IDBImportView, or IDBExportView.

5. Gotchas

  1. Asymmetric API: There is an Export() method defined, but no corresponding Import() method is present in IDBViewModel. Import logic must be handled elsewhere or through property binding alone.

  2. Placement uncertainty: Source comments indicate that ImportFileName and ExportFileName properties may not belong in the view model long-term: "we may not need this in the viewmodel if the viewmodel is capable of doing all the operations it needs to do." This suggests potential refactoring.

  3. XML coupling: The ExportData and ImportData properties are explicitly documented as "formatted xml string." Any implementation changing this format would break the documented contract.

  4. No validation hooks: The interfaces define no validation methods or error handling patterns for file I/O operations. Implementers must define their own error handling strategy.