public async Task <IActionResult> PagingStudentCourse([FromQuery] GetStudentCource request) { var data = await _studentService.GetPagingStudentCourse(request); if (data.IsSuccessed == false) { return(BadRequest(data)); } return(Ok(data)); }
public async Task <ApiResult <PagedResult <StudentCourseVm> > > GetPagingStudentCourse(GetStudentCource request) { var queryStudentCourse = from Rc in _context.RegisterCourses join c in _context.Courses on Rc.Id_Course equals c.Id_Course join st in _context.Students on Rc.Id_Student equals st.Id where Rc.Status == false select new { c, Rc, st }; if (!string.IsNullOrEmpty(request.Keyword)) { queryStudentCourse = queryStudentCourse.Where(x => x.st.FullName.Contains(request.Keyword)); } int totalRow = await queryStudentCourse.CountAsync(); var data = await queryStudentCourse.Skip((request.PageIndex - 1) *request.PageSize) .Take(request.PageSize) .Select(x => new StudentCourseVm() { Id = x.Rc.Id_RegisterCourse, Id_Cource = x.c.Id_Course, NameUser = x.st.FullName, NameCourse = x.c.Name, Status = x.Rc.Status, DateBegin = x.Rc.DateCreate, DateUpdate = x.Rc.DateUpdate }).ToListAsync(); var pagedResult = new PagedResult <StudentCourseVm>() { TotalRecords = totalRow, PageSize = request.PageSize, PageIndex = request.PageIndex, Items = data }; return(new ApiSuccessResult <PagedResult <StudentCourseVm> >(pagedResult)); }