public ConfirmationViewModel(IRegionManager regionManager, IEventAggregator eventAggregator, IShowingAndHidingService showingAndHidingService)
 {
     _regionManager = regionManager;
     _regionManager.RegisterViewWithRegion("CircuitDiagramRegion", typeof(DiagramView));
     _eventAggregator = eventAggregator;
     _eventAggregator.GetEvent <CalculationInputUpdated>().Subscribe(HandleCalculationInputUpdated);
     _eventAggregator.GetEvent <CalculationOutputUpdated>().Subscribe(HandleCalculationOutputUpdated);
     _showingAndHidingService = showingAndHidingService;
 }
        public ResultsViewModel(IRegionManager regionManager, IEventAggregator eventAggregator, ICalculatorService calculatorService, IShowingAndHidingService showingAndHidingService)
        {
            _eventAggregator = eventAggregator;
            _eventAggregator.GetEvent <CalculationInputUpdated>().Subscribe(InputUpdated, ThreadOption.UIThread, true);
            _eventAggregator.GetEvent <CalculateButtonClicked>().Subscribe(CalculateClick, ThreadOption.UIThread, true);
            _eventAggregator.GetEvent <CalculationOutputUpdated>().Subscribe(HandleCalculationOutputUpdated);

            _regionManager = regionManager;
            _regionManager.RegisterViewWithRegion("CircuitDiagramResultsRegion", typeof(DiagramView));
            _calculatorService = calculatorService;

            _showingAndHidingService = showingAndHidingService;

            FindSafeWorkingDistanceCommand = new DelegateCommand(FindSafeWorkingDistance);
            StandardWorkingDistanceCommand = new DelegateCommand(StandardWorkingDistance);
            UseForNewCalculation           = new DelegateCommand(HandleUseForNewCalculation);
        }