コード例 #1
0
        public async Task <IActionResult> GetCourses([FromQuery] CourseParams courseParams)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var courses = await _courseRepository.GetCourses(courseParams);

            var coursesForReturn = _mapper.Map <IEnumerable <CourseForList> >(courses);

            Response.AddPagination(courses.CurrentPage, courses.PageSize, courses.TotalCount, courses.TotalPages);

            return(Ok(coursesForReturn));
        }
コード例 #2
0
        public async Task <PagedList <Course> > GetCourses(CourseParams courseParams)
        {
            var courses = _context.Courses
                          .Include(x => x.AccountCreated)
                          .Include(x => x.CourseInfo)
                          .Include(x => x.Opinions)
                          .Where(x => x.CourseType == (CourseTypeEnum)courseParams.CourseType && x.Status == CourseStatusEnum.Accepted)
                          .AsQueryable();

            if (!string.IsNullOrEmpty(courseParams.SearchedTitle) && !string.IsNullOrWhiteSpace(courseParams.SearchedTitle))
            {
                courses = courses.Where(x => x.Name.Contains(courseParams.SearchedTitle));
            }

            return(await PagedList <Course> .CreateAsync(courses, courseParams.PageNumber, courseParams.PageSize));
        }