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 };
        }