public virtual async Task <ActionResult> ListAjax(InterviewSearchRequest request) { var viewModel = await _interviewService.GetPagedListAsync(request); if (viewModel.Interviews == null || !viewModel.Interviews.Any()) { return(Content("no-more-info")); } return(PartialView(MVC.Interview.Views._ListAjax, viewModel)); }
public async Task <InterviewListViewModel> GetPagedListAsync(InterviewSearchRequest request) { var interviews = _interviews.Where(a => a.ApplicantId == request.ApplicantId) .Include(a => a.CreatedBy).Include(a => a.ModifiedBy).AsNoTracking() .OrderByDescending(a => a.InterviewDate).AsQueryable(); var selectedInterviews = interviews.ProjectTo <InterviewViewModel>(_mappingEngine); var query = await selectedInterviews .Skip((request.PageIndex - 1) * 10) .Take(10) .ToListAsync(); return(new InterviewListViewModel { SearchRequest = request, Interviews = query }); }