public async Task <IActionResult> GetHistoryOfStudent([FromQuery] GetHistoryRcStudent request) { var data = await _studentService.GetHistoryRcStudent(request); if (data.IsSuccessed == false) { return(BadRequest(data)); } return(Ok(data)); }
public async Task <ApiResult <PagedResult <HistoryRcStudentVm> > > GetHistoryRcStudent(GetHistoryRcStudent 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 join t in _context.Teachers on c.Id_Teacher equals t.Id join s in _context.Subjects on c.Id_Subject equals s.Id_Subject where Rc.Id_Student == request.Id_User select new { c, Rc, st, t, s }; int totalRow = await queryStudentCourse.CountAsync(); var data = await queryStudentCourse .Take(request.PageSize *request.PageIndex) .Select(x => new HistoryRcStudentVm() { Id_Register = x.Rc.Id_RegisterCourse, Id_Course = x.c.Id_Course, NameCourse = x.c.Name, NameTeacher = x.t.FullName, NameSubject = x.s.Name, DateBegin = x.c.DateBegin, DateEnd = x.c.DateEnd, SchoolYear = x.c.SchoolYear, Semester = x.c.Semester, Status = x.Rc.Status }).ToListAsync(); var pagedResult = new PagedResult <HistoryRcStudentVm>() { TotalRecords = totalRow, PageSize = request.PageSize, PageIndex = request.PageIndex, Items = data }; return(new ApiSuccessResult <PagedResult <HistoryRcStudentVm> >(pagedResult)); }