public GetCourseByTermResponse GetCourseByTerm(GetCourseByTermRequest request) { GetCourseByTermResponse response = new GetCourseByTermResponse(); var courseList = new List <CourseDto>(); if (request.RoleName.Equals("student")) { courseList = _context.Schedules.Where(s => s.Student.StudentId == request.UserId && s.Term.TermId == request.TermId) .Select(c => new { c.Course.CourseId, c.Course.CourseName }) .GroupBy(g => new { g.CourseId }) .Select(s => new CourseDto() { CourseId = s.FirstOrDefault().CourseId, CourseName = s.FirstOrDefault().CourseName }).ToList(); } else if (request.RoleName.Equals("teacher")) { courseList = _context.Schedules.Where(s => s.Teacher.TeacherId == request.UserId && s.Term.TermId == request.TermId) .Select(c => new { c.Course.CourseId, c.Course.CourseName }) .GroupBy(g => new { g.CourseId }) .Select(s => new CourseDto() { CourseId = s.FirstOrDefault().CourseId, CourseName = s.FirstOrDefault().CourseName }).ToList(); } response.Courses = courseList; return(response); }
public GetCourseByTermResponse GetCourseByTerm(GetCourseByTermRequest request) { var response = _businessLogic.GetCourseByTerm(request); return(response); }