private List <CascaderNode> ConvertToCascaderNodes(List <NavigationMenu> listNavigationMenu, string ParentId) { List <CascaderNode> listCascaderNode = new List <CascaderNode>(); var list = new List <NavigationMenu>(); if (string.IsNullOrWhiteSpace(ParentId)) { list = listNavigationMenu.Where(item => string.IsNullOrWhiteSpace(item.ParentId)).ToList(); } else { list = listNavigationMenu.Where(item => item.ParentId == ParentId.Trim()).ToList(); } foreach (NavigationMenu navigationMenu in list) { CascaderNode cascaderNode = new CascaderNode(); cascaderNode.Label = navigationMenu.Name; cascaderNode.Value = navigationMenu.Id; cascaderNode.IsLeaf = !listNavigationMenu.Any(item => item.ParentId == navigationMenu.Id); if (!cascaderNode.IsLeaf) { cascaderNode.Children = ConvertToCascaderNodes(listNavigationMenu, navigationMenu.Id); } listCascaderNode.Add(cascaderNode); } return(listCascaderNode); }
public static List <CascaderNode> AnimalTypeToCascaderNode(List <AnimalType> animalTypes) { List <CascaderNode> nodelist = new List <CascaderNode>(); nodelist.AddRange(animalTypes.Where(p => p.Pid == "") .Select(p => new CascaderNode() { Value = p.Id, Label = p.Type, Children = new List <CascaderNode>() })); foreach (var item in animalTypes.Where(p => p.Pid != "")) { CascaderNode node = new CascaderNode() { Value = item.Id, Label = item.Type, Children = new List <CascaderNode>() }; var tmp = GetCascaderNode(nodelist, item.Pid); if (tmp != null) { tmp.Children = tmp.Children.Append(node).ToList(); } } ChangeNodeValue(nodelist); return(nodelist); }
private static CascaderNode Convert(TreeExtensions.ITree <Category> src) { var node = new CascaderNode() { Value = src.Data.Id.ToString(), Label = src.Data.Name }; if (src.Children?.Count > 0) { var children = new List <CascaderNode>(); foreach (var child in src.Children) { children.Add(Convert(child)); } node.Children = children; } return(node); }
private static CascaderNode Convert(TreeExtensions.ITree <CategoryDto> src, Guid current) { var node = new CascaderNode() { Value = src.Data.Id.ToString(), Label = src.Data.Name, Disabled = src.Data.Id == current || src.GetParents <CategoryDto>().Any(x => x.Id == current) }; if (src.Children?.Count > 0) { var children = new List <CascaderNode>(); foreach (var child in src.Children) { children.Add(Convert(child, current)); } node.Children = children; } return(node); }