public virtual async Task <ActionResult> ListAjax(ResearchExperienceSearchRequest request) { var viewModel = await _researchExperienceService.GetPagedListAsync(request); if (viewModel.ResearchExperiences == null || !viewModel.ResearchExperiences.Any()) { return(Content("no-more-info")); } return(PartialView(MVC.ResearchExperience.Views._ListAjax, viewModel)); }
public async Task <ResearchExperienceListViewModel> GetPagedListAsync(ResearchExperienceSearchRequest request) { var researches = _researchExperiences.Include(a => a.CreatedBy) .Include(a => a.ModifiedBy) .Where(a => a.ApplicantId == request.ApplicantId) .AsNoTracking().OrderByDescending(a => a.CreatedOn) .AsQueryable(); var selectedCities = researches.ProjectTo <ResearchExperienceViewModel>(_mappingEngine); var resultsToSkip = (request.PageIndex - 1) * 10; var query = await selectedCities .Skip(() => resultsToSkip) .Take(10).ToListAsync(); return(new ResearchExperienceListViewModel { SearchRequest = request, ResearchExperiences = query }); }