TestModificationViewModel is a Prism-based ViewModel that manages the test modification UI panel in the DTS Viewer application. It enables users to modify test data properties (T0 timing, sensitivity, line fit, EU multiplier/offset, filters, data flags) for selected channels, persist those modifications to files, and optionally update sensor calibration data back to the Sensor Database. The module coordinates between the UI, event-driven channel selection, and the TestModelManipulation helper class for actual data operations.
Initializes the ViewModel, sets up the View's DataContext, creates interaction requests, and subscribes to RaiseNotification, GraphSelectedChannelsNotification, ShiftT0Event, and SetUseZeroForUnfilteredEvent events.
Public Methods
Method
Signature
Description
UpdateDatabaseMethod
void UpdateDatabaseMethod()
Updates calibration in the Sensor Database. Sets CalibrationId = -1, updates ModifyDate to DateTime.Now, creates a SensorCalibration from Model.Cal, and inserts via DbOperations.SensorCalibrationsInsert. Refreshes Model.Cal from latest database record.
Initialize
void Initialize()
Empty override.
Initialize
void Initialize(object parameter)
Sets Parent property from parameter cast to IBaseViewModel.
PublishChanges
void PublishChanges()
If not populating and Model.IsModifiedDataFlag is true, immediately saves data flag modification via TestModelManipulation.SaveModificationDataFlag. Publishes TestModificationChangedEvent with the Model.
Validates T0 if modified, prompts user with Yes/No dialog, retrieves UseISOCodeFilterMapping setting, and calls TestModelManipulation.SaveModification. Updates IsBackedUp.