private ResourceHierarchyDTO CreateTypeHierarchyList(EntityTypeDto resourceTypeHierarchy, int level) { List <ResourceHierarchyDTO> hierarchyList = new List <ResourceHierarchyDTO>(); if (!resourceTypeHierarchy.SubClasses.IsNullOrEmpty()) { var parent = new ResourceHierarchyDTO() { HasChild = true, Level = level, IsCategory = false, Instantiable = false, Name = resourceTypeHierarchy.Label }; foreach (var res in resourceTypeHierarchy.SubClasses) { var child = CreateTypeHierarchyList(res, level + 1); child.HasParent = true; child.Id = child.Name + "#" + parent.Name; child.ParentName = parent.Name; child.IsCategory = false; hierarchyList.Add(child); } parent.Children = hierarchyList; return(parent); } else { return(new ResourceHierarchyDTO() { Children = new List <ResourceHierarchyDTO>(), HasChild = false, Level = level, IsCategory = false, Instantiable = true, Name = resourceTypeHierarchy.Label }); } }
public IList <ResourceHierarchyDTO> GetCategoryFilterDmp() { var categoryList = new List <ResourceHierarchyDTO>(); var resourceList = GetCategoryFilter(); resourceList.ToList().ForEach(x => { var hierarchyObject = new ResourceHierarchyDTO() { Level = 0, HasChild = true, HasParent = false, IsCategory = true, Description = x.Description, Instantiable = false, Name = x.Name, }; x.ResourceTypes.ToList().ForEach(child => { hierarchyObject.addChild(new ResourceHierarchyDTO() { Level = 1, HasChild = false, HasParent = true, IsCategory = true, Id = child + "#" + x.Name, Instantiable = true, Name = child }); }); categoryList.Add(hierarchyObject); }); return(categoryList); }