public virtual async Task <ActionResult> ListAjax(WorkExperienceSearchRequest request) { var viewModel = await _workExperienceService.GetPagedListAsync(request); if (viewModel.WorkExperiences == null || !viewModel.WorkExperiences.Any()) { return(Content("no-more-info")); } return(PartialView(MVC.WorkExperience.Views._ListAjax, viewModel)); }
public async Task <WorkExperienceListViewModel> GetPagedListAsync(WorkExperienceSearchRequest request) { var works = _workExperiences.Include(a => a.CreatedBy).Include(a => a.ModifiedBy).Where(a => a.ApplicantId == request.ApplicantId).AsNoTracking().OrderByDescending(a => a.TenureBeginDate).AsQueryable(); var selectedCities = works.ProjectTo <WorkExperienceViewModel>(_mappingEngine); var resultsToSkip = (request.PageIndex - 1) * 10; var query = await selectedCities .Skip(() => resultsToSkip) .Take(10).ToListAsync(); return(new WorkExperienceListViewModel { SearchRequest = request, WorkExperiences = query }); }