public List <TreeNavigationItem> GetChildren(NavigationContext navigationContext, TreeNavigationItem parentTreeNavigationItem)
        {
            List <TreeNavigationItem> children = new List <TreeNavigationItem>();

            switch (parentTreeNavigationItem.Type)
            {
            case NavigationType.PROJECT:
                children.AddRange(_folderNavigationRepository.FindRoots(parentTreeNavigationItem.Id));
                break;

            case NavigationType.FOLDER:
                if (parentTreeNavigationItem.Name == "PrimitiveTypes")
                {
                    children.AddRange(_folderNavigationRepository.FindChildren(parentTreeNavigationItem.Id));
                    children.AddRange(_primitiveTypeNavigationRepository.FindChildren(parentTreeNavigationItem.Id));
                }
                else
                {
                    children.AddRange(_folderNavigationRepository.FindChildren(parentTreeNavigationItem.Id));
                    children.AddRange(_compositeTypeNavigationRepository.FindChildren(parentTreeNavigationItem.Id));
                }
                break;

            case NavigationType.COMPOSITE_TYPE:
                children.AddRange(_compositeTypeElementNavigationRepository.FindChildren(parentTreeNavigationItem.Id));
                break;
            }
            ExtendTreeNavigationItems(children, parentTreeNavigationItem);
            return(children);
        }
Beispiel #2
0
        public GenerateCodeTypeTreeNavigationItem GetTypeToGenerate(Guid owningTypeId)
        {
            TreeNavigationItem        compositeTypeTreeNavigationItem         = _compositeTypeNavigationRepository.FindSpecific(owningTypeId);
            List <TreeNavigationItem> compositeTypeElementTreeNavigationItems = _compositeTypeElementNavigationRepository.FindChildren(owningTypeId);

            GenerateCodeTypeTreeNavigationItem generateCodeTypeTreeNavigationItem = new GenerateCodeTypeTreeNavigationItem();

            generateCodeTypeTreeNavigationItem.Name = compositeTypeTreeNavigationItem.Name;

            List <GenerateCodeTypeElementTreeNavigationItem> generateCodeTypeElementTreeNavigationItems = new List <GenerateCodeTypeElementTreeNavigationItem>();

            foreach (CompositeTypeElementTreeNavigationItem compositeTypeElementTreeNavigationItem in compositeTypeElementTreeNavigationItems)
            {
                generateCodeTypeTreeNavigationItem.Fields.Add(CreateGenerateCodeTypeElementTreeNavigationItem(compositeTypeElementTreeNavigationItem));
            }
            return(generateCodeTypeTreeNavigationItem);
        }