public async Task <ApiResult <PagedResult <ScheduleVm> > > GetAllByTeacher(GetScheduleByTeacherRequest request) { var query = from s in _context.Schedules join c in _context.Courses on s.Id_Course equals c.Id_Course join cl in _context.Classes on s.Id_Class equals cl.Id_Class where c.Id_Course == request.Id_Course select new { s, c, cl }; int totalRow = await query.CountAsync(); var data = await query .Select(x => new ScheduleVm() { Id_Schedule = x.s.Id_Schedule, NameClass = x.cl.Name, NameCourse = x.c.Name, Date = x.s.Date, TimeBegin = x.s.TimeBegin, TimeEnd = x.s.TimeEnd }).ToListAsync(); var pageData = new PagedResult <ScheduleVm>() { PageIndex = 1, PageSize = totalRow, Items = data, TotalRecords = totalRow, }; return(new ApiSuccessResult <PagedResult <ScheduleVm> >(pageData)); }
public async Task <IActionResult> GetAll([FromQuery] GetScheduleByTeacherRequest request) { var schedule = await _scheduleService.GetAllByTeacher(request); return(Ok(schedule)); }