Files
DP44/docs/ai/Common/DTS.Common/Interface/ExportData.md
2026-04-17 14:55:32 -04:00

3.0 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common/Interface/ExportData/IExportDataView.cs
Common/DTS.Common/Interface/ExportData/IExportDataViewModel.cs
Common/DTS.Common/Interface/ExportData/IExportHeader.cs
2026-04-17T16:35:51.580680+00:00 zai-org/GLM-5-FP8 1 eab48691f38de164

Documentation: Export Data Interfaces

1. Purpose

This module defines a set of interfaces supporting a data export feature within an MVVM (Model-View-ViewModel) architecture. It provides marker interfaces for export-specific views and view models (IExportDataView, IExportDataViewModel) that integrate with a base framework, and defines IExportHeader for modeling selectable column headers during the export configuration process.


2. Public Interface

IExportDataView

Namespace: DTS.Common.Interface
File: Common/DTS.Common/Interface/ExportData/IExportDataView.cs

public interface IExportDataView : IBaseView

A marker interface extending IBaseView. Declares no members. Intended to identify views specifically scoped to export data functionality.


IExportDataViewModel

Namespace: DTS.Common.Interface
File: Common/DTS.Common/Interface/ExportData/IExportDataViewModel.cs

public interface IExportDataViewModel : IBaseViewModel

A marker interface extending IBaseViewModel. Declares no members. Intended to identify view models specifically scoped to export data functionality.


IExportHeader

Namespace: DTS.Common.Interface.ExportData
File: Common/DTS.Common/Interface/ExportData/IExportHeader.cs

public interface IExportHeader : INotifyPropertyChanged

Defines a selectable export column header with the following properties:

Property Type Access Description
HeaderName string get/set The display name of the export header/column
IsSelected bool get/set Indicates whether this header is selected for export

Implements INotifyPropertyChanged, indicating that implementations are expected to raise the PropertyChanged event when property values change.


3. Invariants

  • IExportHeader implementations must properly implement INotifyPropertyChanged.PropertyChanged event and are expected to raise property change notifications when HeaderName or IsSelected are modified. The source does not specify whether notifications must be raised for both properties or only the changed property.
  • Marker interfaces (IExportDataView, IExportDataViewModel) have no behavioral contracts defined in this source; any invariants would be inherited from IBaseView and IBaseViewModel respectively, which are not included in the provided source.

4. Dependencies

This module depends on:

  • DTS.Common.Base.IBaseView — base interface for IExportDataView
  • DTS.Common.Base.IBaseViewModel — base interface for IExportDataViewModel
  • System.ComponentModel.INotifyPropertyChanged — base interface for `IExportHeader