Exemplo n.º 1
0
        public async Task <IActionResult> GetHistoryOfStudent([FromQuery] GetHistoryRcStudent request)
        {
            var data = await _studentService.GetHistoryRcStudent(request);

            if (data.IsSuccessed == false)
            {
                return(BadRequest(data));
            }
            return(Ok(data));
        }
Exemplo n.º 2
0
        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));
        }