private bool TryLoadFile(IMainWindowViewModel viewModel, IViewModelStateSerializer serializer, string filePath) { try { serializer.LoadViewModelState(viewModel, filePath); } catch (InvalidOperationException) { return(false); } return(true); }
public MainWindowViewModel(IModelBuilder modelBuilder, IEventAggregator eventAggregator, ITestManager testManager, IViewModelStateSerializer viewModelStateSerializer, IViewModelLocator viewModelLocator) { if (modelBuilder == null) { throw new ArgumentNullException("modelBuilder"); } if (eventAggregator == null) { throw new ArgumentNullException("eventAggregator"); } if (testManager == null) { throw new ArgumentNullException("testManager"); } if (viewModelStateSerializer == null) { throw new ArgumentNullException("viewModelStateSerializer"); } if (viewModelLocator == null) { throw new ArgumentNullException("viewModelLocator"); } _modelBuilder = modelBuilder; _eventAggregator = eventAggregator; _testManager = testManager; _viewModelStateSerializer = viewModelStateSerializer; _viewModelLocator = viewModelLocator; InitializeCommands(); _eventAggregator.GetEvent <ModelAddRequestEvent>().Subscribe(OnAddModelRequest); _cameraSubscriptionToken = _eventAggregator.GetEvent <CameraPositionChangedEvent>().Subscribe(OnCameraChange); _fieldModel = _modelBuilder.BuildModel <Field>(); State = TestState.NotConfigured; _models = new ObservableCollectionEx <IModel>(); ((INotifyPropertyChanged)_models).PropertyChanged += (sender, args) => RaisePropertyChanged(() => Models3D); Configuration = new TestConfiguration(_eventAggregator); }