private void buildTreeviewMenu(OrgTreeData treeItem, IEnumerable <TreeData> lstTreeData) { IEnumerable <OrgTreeData> _treeItems; _treeItems = lstTreeData.Where(item => item.UnderID == treeItem.UserID).Select(x => new OrgTreeData { name = x.UserName, UserID = x.UserID, styleClass = setColor(x.Level), Level = x.Level, FirstName = x.FirstName, LastName = x.LastName, UserName = x.UserName, PhoneNumber = x.PhoneNumber, DcID = x.DcID }); if (_treeItems != null && _treeItems.Count() > 0) { List <OrgTreeData> items = new List <OrgTreeData>(); foreach (var item in _treeItems) { treeItem.children.Add(item); buildTreeviewMenu(item, lstTreeData); } } }
public OrgTreeData OrgTreeData(Guid?groupId = null) { var orgGroups = groupId.HasValue ? _orgGroupRepository.GetByIdWithChildren(groupId.Value) : _orgGroupRepository.OrgGroups; var jobs = from job in _jobRepository.Job from orgGroup in orgGroups.InnerJoin(g => g.Id == job.OrgGroupId) select job; var data = new OrgTreeData { Groups = (from orgGroup in _orgGroupRepository.OrgGroupsWithSupervisor where orgGroup.Id.In(orgGroups.Select(g => g.Id)) select orgGroup).ToList(), Jobs = jobs.ToList(), Roles = (from role in _jobRepository.PersonRolesExtended from job in jobs.InnerJoin(job => job.Id == role.JobId) select role).ToList() }; return(data); }