Files
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
DataPRO/Modules/Reports/PedestrianAndHeadReports/ViewModel/HeadReportViewModel.cs
DataPRO/Modules/Reports/PedestrianAndHeadReports/ViewModel/TRLReportViewModel.cs
2026-04-17T15:58:37.824013+00:00 zai-org/GLM-5-FP8 1 bc7bfc2f44c9fcf7

Documentation: PedestrianAndHeadReports ViewModels

1. Purpose

This module provides ViewModel implementations for report generation within the DataPRO reporting system. It contains two primary ViewModels: HeadReportViewModel for head report functionality (currently limited to XML string handling per source comments), and TRLReportViewModel for TRL (Test Research Laboratory) reports that manage test data including acceleration, bending, and shear channel measurements. Both ViewModels follow the MVVM pattern using Microsoft Prism framework, providing input/output view management, event aggregation for cross-component communication, and lifecycle methods for initialization and cleanup.


2. Public Interface

HeadReportViewModel

Class Signature:

[Export(typeof(IHeadReportInputView))]
[Export(typeof(IHeadReportOutputView))]
[PartCreationPolicy(CreationPolicy.Shared)]
public class HeadReportViewModel : IHeadReportViewModel

Constructor:

public HeadReportViewModel(
    IHeadReportInputView inputView, 
    IHeadReportOutputView outputView, 
    IRegionManager regionManager, 
    IEventAggregator eventAggregator, 
    IUnityContainer unityContainer)

Properties:

Property Type Description
InputView IHeadReportInputView The input view instance; DataContext is set to this during construction
OutputView IHeadReportOutputView The output view instance; DataContext is set to this during construction
NotificationRequest InteractionRequest<Notification> Prism interaction request for displaying notifications
ConfirmationRequest InteractionRequest<Confirmation> Prism interaction request for displaying confirmations
IsDirty bool Indicates whether the view model has unsaved changes; private setter
IsBusy bool Controls busy indicator state; raises PropertyChanged on set
IsMenuIncluded bool Indicates whether menu is included; raises PropertyChanged on set
IsNavigationIncluded bool Indicates whether navigation is included; raises PropertyChanged on set
HeaderInfo string Returns constant string "MainRegion"

Methods:

Method Return Type Description
Cleanup() void Empty implementation
CleanupAsync() Task Returns null
Initialize() void Empty implementation
Initialize(object parameter) void Empty implementation
Initialize(object parameter, object model) void Empty implementation
InitializeAsync() Task Returns null
InitializeAsync(object parameter) Task Returns null
Activated() void Empty implementation
OnPropertyChanged(string propertyName) void Raises PropertyChanged event

Events:

  • PropertyChanged - Standard INotifyPropertyChanged implementation

TRLReportViewModel

Class Signature:

[Export(typeof(ITRLReportInputView))]
[Export(typeof(ITRLReportOutputView))]
[PartCreationPolicy(CreationPolicy.Shared)]
public class TRLReportViewModel : ITRLReportViewModel

Constructor:

public TRLReportViewModel(
    ITRLReportInputView inputView, 
    ITRLReportOutputView outputView,
    IRegionManager regionManager, 
    IEventAggregator eventAggregator, 
    IUnityContainer unityContainer, 
    DTS.Serialization.Test test)

Properties (in addition to those inherited from base pattern):

Property Type Description
Test DTS.Serialization.Test The test object containing channel data
AvailableTimeUnits ConstantsAndEnums.TimeUnits[] Initialized to