Example #1
0
        private void FillWizardPages(WizardControl view)
        {
            //Наполним визард страницами
            var isUpdateStruct = _creationInfo.Parent.Type.IsProject;

            //Страница выбора шаблона
            var filter = new ListViewFolderChildrenFilter(_repository);

            _dataObjectService = new DataObjectService(_repository, filter);
            var vm = new SelectProjectTemplatePageViewModel(_creationInfo, _dataObjectService);

            view.Pages.Add(new SelectProjectTemplatePage {
                DataContext = vm
            });

            //Страница состав выбранного проекта
            var serviceFactory = new ListViewDataObjectServiceFactory(_repository);
            var vm2            = new ProjectCompositionPageViewModel(_creationInfo, serviceFactory);

            view.Pages.Add(new ProjectCompositionPage {
                DataContext = vm2
            });

            //Страница файлы и папки выбранного проекта
            var storageServiceFactory = new StorageDataObjectServiceFactory(_repository);
            var vm3 = new FilesAndFolderPageViewModel(_creationInfo, storageServiceFactory);

            view.Pages.Add(new FilesAndFolderPage {
                DataContext = vm3
            });

            //Страница карточки нового проекта
            if (!isUpdateStruct)
            {
                var vm4 = new ProjectCardPageViewModel(_creationInfo, _repository, _pilotDialogService, _attributeFormatParser);
                view.Pages.Add(new ProjectCardPage {
                    DataContext = vm4
                });
            }

            //Страница процесс
            var processViewModel = isUpdateStruct
                ? new UpdateStructProcessPageViewModel(_creationInfo, _modifier, _repository, _fileProvider)
                : new ProcessPageViewModel(_creationInfo, _modifier, _repository, _fileProvider);

            view.Pages.Add(new ProcessPage {
                DataContext = processViewModel
            });

            //Результат
            var vm5 = new FinishPageViewModel(_creationInfo);

            view.Pages.Add(new FinishPage {
                DataContext = vm5
            });
        }
        public void should_set_object_nodes_to_result()
        {
            var creationInfo = new CreationInfo
            {
                Template = TestTools.GetNodeViewModel(Guid.NewGuid())
            };

            var viewModel = new ProjectCompositionPageViewModel(creationInfo, _dataObjectServiceFactoryMock.Object);

            viewModel.Load();

            Assert.NotNull(creationInfo.ObjectsNodes);
            Assert.AreSame(creationInfo.ObjectsNodes, viewModel.ObjectsTreeViewModel.Nodes);
        }
        public void should_return_correct_values()
        {
            var creationInfo = new CreationInfo
            {
                Template = TestTools.GetNodeViewModel()
            };

            var viewModel = new ProjectCompositionPageViewModel(creationInfo, _dataObjectServiceFactoryMock.Object);

            var expected = "Шаг 2 из 4. Выберите необходимые элементы состава";
            var actual   = viewModel.GetTitle();

            Assert.AreEqual(expected, actual);

            actual = viewModel.GetTemplateName();
            Assert.IsNull(actual);
        }
        public void should_not_load_tree_twice()
        {
            var creationInfo = new CreationInfo
            {
                Template = TestTools.GetNodeViewModel(Guid.NewGuid())
            };

            var viewModel = new ProjectCompositionPageViewModel(creationInfo, _dataObjectServiceFactoryMock.Object);

            viewModel.Load();

            var first = viewModel.ObjectsTreeViewModel;

            Assert.NotNull(first);

            viewModel.Load();
            Assert.AreSame(first, viewModel.ObjectsTreeViewModel);
        }