Example #1
0
        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
            });
        }