public ConfigurationWizardViewModel(
            Project item,
            IRepositoryFactory <IProjectRepository> projectRepositoryFactory,
            IViewModelsFactory <IProjectLocationStepViewModel> projectLocationStepVmFactory,
            IViewModelsFactory <IDatabaseSettingsStepViewModel> databaseSettingsStepVmFactory,
            IViewModelsFactory <ISearchSettingsStepViewModel> searchSettingsStepVmFactory,
            IViewModelsFactory <IConfigurationViewModel> configurationVmFactory,
            IViewModelsFactory <IConfirmationStepViewModel> confirmationStepVmFactory,
            NavigationManager navigationManager
            )
        {
            _item = item;
            _projectRepositoryFactory = projectRepositoryFactory;
            _navigationManager        = navigationManager;

            // initializing step instances
            _confirmationViewModel = confirmationStepVmFactory.GetViewModelInstance();
            var confirmParam = new KeyValuePair <string, object>("confirmationViewModel", _confirmationViewModel);

            _searchSettingsStepViewModel = searchSettingsStepVmFactory.GetViewModelInstance(confirmParam);
            var searchParam = new KeyValuePair <string, object>("searchViewModel", _searchSettingsStepViewModel);

            _databaseSettingsStepViewModel = databaseSettingsStepVmFactory.GetViewModelInstance(confirmParam);
            var dbParam = new KeyValuePair <string, object>("databaseViewModel", _databaseSettingsStepViewModel);

            _projectLocationStepViewModel = projectLocationStepVmFactory.GetViewModelInstance(confirmParam, searchParam, dbParam);
            var locationParam = new KeyValuePair <string, object>("projectLocationViewModel", _projectLocationStepViewModel);

            _configurationViewModel = configurationVmFactory.GetViewModelInstance(locationParam, dbParam, searchParam);

            Initialize();
            RegisterWizardSteps();
        }
		public ConfigurationWizardViewModel(
			Project item,
			IRepositoryFactory<IProjectRepository> projectRepositoryFactory,
			IViewModelsFactory<IProjectLocationStepViewModel> projectLocationStepVmFactory,
			IViewModelsFactory<IDatabaseSettingsStepViewModel> databaseSettingsStepVmFactory,
			IViewModelsFactory<ISearchSettingsStepViewModel> searchSettingsStepVmFactory,
			IViewModelsFactory<IConfigurationViewModel> configurationVmFactory,
			IViewModelsFactory<IConfirmationStepViewModel> confirmationStepVmFactory,
			NavigationManager navigationManager
			)
		{
			_item = item;
			_projectRepositoryFactory = projectRepositoryFactory;
			_navigationManager = navigationManager;

			// initializing step instances
			_confirmationViewModel = confirmationStepVmFactory.GetViewModelInstance();
			var confirmParam = new KeyValuePair<string, object>("confirmationViewModel", _confirmationViewModel);

			_searchSettingsStepViewModel = searchSettingsStepVmFactory.GetViewModelInstance(confirmParam);
			var searchParam = new KeyValuePair<string, object>("searchViewModel", _searchSettingsStepViewModel);

			_databaseSettingsStepViewModel = databaseSettingsStepVmFactory.GetViewModelInstance(confirmParam);
			var dbParam = new KeyValuePair<string, object>("databaseViewModel", _databaseSettingsStepViewModel);

			_projectLocationStepViewModel = projectLocationStepVmFactory.GetViewModelInstance(confirmParam, searchParam, dbParam);
			var locationParam = new KeyValuePair<string, object>("projectLocationViewModel", _projectLocationStepViewModel);

			_configurationViewModel = configurationVmFactory.GetViewModelInstance(locationParam, dbParam, searchParam);

			Initialize();
			RegisterWizardSteps();
		}
		public ConfigurationViewModel(
			IProjectLocationStepViewModel projectLocationViewModel,
			IDatabaseSettingsStepViewModel databaseViewModel,
			ISearchSettingsStepViewModel searchViewModel,
			NavigationManager navigationManager)
		{
			_projectLocationStepViewModel = projectLocationViewModel;
			_projectLocationStepViewModel.Configuration = this;
			_databaseSettingsStepViewModel = databaseViewModel;
			_databaseSettingsStepViewModel.Configuration = this;
			_searchSettingsStepViewModel = searchViewModel;
			_searchSettingsStepViewModel.Configuration = this;

			_navigationManager = navigationManager;

			Initialize();
		}
        public ConfigurationViewModel(
            IProjectLocationStepViewModel projectLocationViewModel,
            IDatabaseSettingsStepViewModel databaseViewModel,
            ISearchSettingsStepViewModel searchViewModel,
            NavigationManager navigationManager)
        {
            _projectLocationStepViewModel = projectLocationViewModel;
            _projectLocationStepViewModel.Configuration = this;
            _databaseSettingsStepViewModel = databaseViewModel;
            _databaseSettingsStepViewModel.Configuration = this;
            _searchSettingsStepViewModel = searchViewModel;
            _searchSettingsStepViewModel.Configuration = this;

            _navigationManager = navigationManager;

            Initialize();
        }