public async Task <List <TreeView> > GetListTree() { var levels = await _oCRepository.FindAll().OrderBy(x => x.Level).ProjectTo <TreeView>(_mapperConfig).ToListAsync(); List <TreeView> hierarchy = new List <TreeView>(); hierarchy = levels.Where(c => c.parentid == 0) .Select(c => new TreeView() { key = c.key, title = c.title, code = c.code, levelnumber = c.levelnumber, parentid = c.parentid, children = GetChildren(levels, c.key) }) .ToList(); return(hierarchy); }