public virtual async Task<ActionResult> ListAjax(TeacherInServiceCourseTypeSearchRequest request) { if (!_referentialTeacherService.CanManageTeacher(request.TeacherId)) return HttpNotFound(); var viewModel = await _TeacherInServiceCourseType.GetPagedListAsync(request); if (viewModel.TeacherInServiceCourseTypes == null || !viewModel.TeacherInServiceCourseTypes.Any()) return Content("no-more-info"); return PartialView(MVC.TeacherInServiceCourseType.Views._ListAjax, viewModel); }
public async Task<TeacherInServiceCourseTypeListViewModel> GetPagedListAsync(TeacherInServiceCourseTypeSearchRequest request) { var TeacherInServiceCourseTypes = _TeacherInServiceCourseTypes.Where(a => a.TeacherId == request.TeacherId).AsNoTracking() .Include(a => a.Creator).Include(a => a.LasModifier) .Include(a => a.InServiceCourseTypeTitle).OrderByDescending(a => a.CreateDate).AsQueryable(); var selectedTeacherInServiceCourseTypes = TeacherInServiceCourseTypes.ProjectTo<TeacherInServiceCourseTypeViewModel>(_mappingEngine); var query =await selectedTeacherInServiceCourseTypes .Skip((request.PageIndex - 1)*10) .Take(10).ToListAsync(); return new TeacherInServiceCourseTypeListViewModel { SearchRequest = request, TeacherInServiceCourseTypes = query }; }