void IFsItemViewModelVisitor.Visit(FsDirectoryViewModel directory) { if (directory.IsSelected == false) { return; } _ItemsCount.NumberOfSolutionFolders++; IFsItemViewModelVisitor childVisitor; if (directory.CreateSolutionFolder) { var solutionFolder = new SolutionDirectoryViewModel(directory.Name); _CurrentContextItems.Add(solutionFolder); childVisitor = new FsItemBuildSolutionItemHierarchyVisitor(solutionFolder, _ItemsCount); } else { childVisitor = this; } foreach (var directoryChild in directory.ChildItems) { directoryChild.Accept(childVisitor); } }
private FsItemBuildSolutionItemHierarchyVisitor(SolutionDirectoryViewModel viewModel, SolutionItemsCount itemsCount) { _CurrentContextItems = viewModel.ChildItems; _ItemsCount = itemsCount; }