public async Task <OperationDataResult <List <FolderDtoModel> > > Index() { try { var core = await _coreHelper.GetCore(); await using var dbContext = core.DbContextHelper.GetDbContext(); var language = await _userService.GetCurrentUserLanguage(); var folderQuery = dbContext.Folders .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed) .Where(x => x.FolderTranslations.Any(y => y.LanguageId == language.Id && !string.IsNullOrEmpty(y.Name))); var folders = await AddSelectToQueryForList(folderQuery, language.Id) .OrderBy(x => x.Name) .ToListAsync(); var treeResult = new List <FolderDtoModel>(); if (folders.Count > 0) { treeResult = FoldersHelper.BuildTreeV2(folders); //treeResult = folders.BuildTree().ToList(); } return(new OperationDataResult <List <FolderDtoModel> >(true, treeResult)); } catch (Exception e) { _logger.LogError(e, e.Message); return(new OperationDataResult <List <FolderDtoModel> >( false, _localizationService.GetString("ErrorWhileObtainingFoldersInfo"))); } }