void AddChildNode(List <SysObject> list, ObjectNodeDto currentNode) { var cNodes = list.FindAll(x => x.ParentKey == currentNode.ObjectKey); foreach (var c in cNodes) { ObjectNodeDto m = new ObjectNodeDto { Id = c.Id.ToString(), ObjectKey = c.ObjectKey, Text = c.DisplayName }; AddChildNode(list, m); currentNode.Nodes.Add(m); } }
public List <ObjectNodeDto> GetTree() { var list = _repository.GetAllList(x => x.TenantId == null && x.IsDeleted != true); var rootList = new List <ObjectNodeDto>(); var firstLevelNodes = list.FindAll(x => (x.ParentKey ?? "") == ""); foreach (var f in firstLevelNodes) { ObjectNodeDto objectNodeDto = new ObjectNodeDto { Id = f.Id.ToString(), ObjectKey = f.ObjectKey, Text = f.DisplayName }; AddChildNode(list, objectNodeDto); rootList.Add(objectNodeDto); } return(rootList); }