AddEditHardwareViewModel is a Prism-based ViewModel that manages the UI logic for adding and editing hardware devices within the DTS application. It serves as the intermediary between the IAddEditHardwareView and the underlying hardware data models, handling validation, persistence, SLICE6 database associations, and event-based communication with other modules. The class is designed as a shared singleton (via MEF CreationPolicy.Shared) and integrates with the application's event aggregation, region management, and dependency injection systems.