Beispiel #1
0
        public virtual async Task <ActionResult> ListAjax(EducationalExperienceSearchRequest request)
        {
            var viewModel = await _educationalExperienceService.GetPagedListAsync(request);

            if (viewModel.EducationalExperiences == null || !viewModel.EducationalExperiences.Any())
            {
                return(Content("no-more-info"));
            }

            return(PartialView(MVC.EducationalExperience.Views._ListAjax, viewModel));
        }
        public async Task <EducationalExperienceListViewModel> GetPagedListAsync(EducationalExperienceSearchRequest request)
        {
            var educationalExperiences =
                _educationalExperiences.Where(a => a.ApplicantId == request.ApplicantId)
                .AsNoTracking()
                .Include(a => a.CreatedBy)
                .Include(a => a.ModifiedBy).OrderByDescending(a => a.CreatedOn)
                .AsQueryable();

            var selectedEducationalExperiences = educationalExperiences.ProjectTo <EducationalExperienceViewModel>(_mappingEngine);
            var resultsToSkip = (request.PageIndex - 1) * 10;
            var query         = await selectedEducationalExperiences
                                .Skip(() => resultsToSkip)
                                .Take(10).ToListAsync();

            return(new EducationalExperienceListViewModel {
                SearchRequest = request, EducationalExperiences = query
            });
        }