Files
2026-04-17 14:55:32 -04:00

6.6 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.TestSummaryList/ViewModel/TestSummaryViewModel.cs
DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.TestSummaryList/ViewModel/TestSummaryViewListModel.cs
2026-04-17T15:56:32.359697+00:00 zai-org/GLM-5-FP8 1 170b78c49a4abb43

Documentation: TestSummaryList ViewModels

1. Purpose

This module provides two ViewModel implementations (TestSummaryViewModel and TestSummaryViewListModel) for managing and displaying test summary data within the DTS Viewer application. Both classes implement ITestSummaryListViewModel and serve as intermediaries between test summary data models and their associated views, handling user interactions, event aggregation for cross-component communication, data filtering, and sorting. The module exists to support the Prism-based MVVM architecture, coordinating test summary selection, folder/file data loading, and notification publishing to other application components.


2. Public Interface

TestSummaryViewModel

Constructor:

public TestSummaryViewModel(ITestSummaryListView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)

Initializes the ViewModel, sets the view's DataContext, creates interaction requests, and subscribes to RaiseNotification and DataFolderChangedEvent events.

Methods:

Method Signature Description
Initialize void Initialize() Empty override.
Initialize void Initialize(object parameter) Casts parameter to IBaseWindowModel and assigns to Parent.
Activated void Activated() Throws NotImplementedException.
Cleanup void Cleanup() Throws NotImplementedException.
CleanupAsync Task CleanupAsync() Throws NotImplementedException.
InitializeAsync Task InitializeAsync() Throws NotImplementedException.
InitializeAsync Task InitializeAsync(object parameter) Throws NotImplementedException.
PublishSelectedTestSummaryList void PublishSelectedTestSummaryList() Publishes TestSummaryChangeNotification and TestSelectedChangedEvent events with current selection.

Properties:

Property Type Description
TestSummaryListView ITestSummaryListView The associated view instance.
NotificationRequest InteractionRequest<Notification> Prism interaction request for notifications.
ConfirmationRequest InteractionRequest<Confirmation> Prism interaction request for confirmations.
ContextNavigationRegion object Gets/sets content of TestListRegion on the view.
SelectedTestSummary TestSummary Currently selected single test summary.
SelectedTestSummaryList List<ITestSummary> List of selected test summaries.
TestSummaryList ObservableCollection<ITestSummary> Collection of all test summaries.
HeaderInfo string Returns "TestSummaryRegion".
IsBusy bool Busy indicator state.
IsDirty bool Dirty state flag.
IsNavigationIncluded bool Navigation inclusion flag.

Events:

  • PropertyChanged - Custom PropertyChangedEventHandler (hides base implementation with new).

TestSummaryViewListModel

Constructor:

public TestSummaryViewListModel(ITestSummaryListView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)

Initializes the ViewModel, sets the view's DataContext, creates interaction requests, and stores dependencies.

Methods:

Method Signature Description
Initialize void Initialize() Empty override.
Initialize void Initialize(object parameter) Sets Parent, initializes FilterView, attaches collection changed handlers, and calls Subscribe().
OnFilterChanged void OnFilterChanged(FilterParameterArgs args) Filters FilteredTestSummaryList based on SetupName, Id, or Description containing the parameter string.
Activated void Activated() Publishes empty FilterParameterChangedEvent to reset filter.
Cleanup void Cleanup() Clears all collections, resets SelectedTestSummary, and publishes selection changes.
PublishSelectedTestSummaryList void PublishSelectedTestSummaryList() Publishes TestSummaryChangeNotification, TestSummaryCountNotification, and ResetZoomChangedEvent.
RefreshDataFolder void RefreshDataFolder() Publishes DataFolderChangedEvent via dispatcher.
SelectDataFolder void SelectDataFolder() Opens OpenFileDialog for .dts files and publishes DataFileSelectedEvent.
SortTestSummaryList void SortTestSummaryList() Sorts FilteredTestSummaryList based on SelectedSortIndex.

Properties:

Property Type Description
FilterView IFilterView Resolved filter view instance.
View ITestSummaryListView The associated view instance.
NotificationRequest InteractionRequest<Notification> Prism interaction request for notifications.
ConfirmationRequest InteractionRequest<Confirmation> Prism interaction request for confirmations.
ContextNavigationRegion object Gets/sets DataContext of TestListRegion on the view.
IsFilterEnabled bool Indicates if filtering is available (true when list has items).
SelectedTestSummary TestSummary Currently selected single test summary.
SelectedTestSummaryList List<ITestSummary> List of selected test summaries.
TestSummaryList ObservableCollection<ITestSummary> Full collection; setter updates IsFilterEnabled and FilteredTestSummaryList.
FilteredTestSummaryList ObservableCollection<ITestSummary> Filtered/sorted view of test summaries.
HeaderInfo string Returns "TestSummaryRegion".
IsBusy bool Busy indicator state.
IsDirty bool Dirty state flag.
IsNavigationIncluded bool Navigation inclusion flag.
SelectedDataFolder string Selected folder path; setter publishes DataFolderChangedEvent.
SelectedDataFile string Selected file path; setter publishes DataFolderChangedEvent.
SortableAttributes List<string> Localized list of sortable attribute names.
SelectedSortIndex int Index of selected sort; setter triggers SortTestSummaryList().

Commands:

Command Type Description
`Refresh