public IQueryable <ProgramCoursesDto> GetProgramCourses(GetProgramCoursesRequest request)
 {
     return(_schoolContext.ProgramsCourses.Where(x => x.ProgramId == request.ProgramId && x.Course.Semester == request.Semester)
            .Select(x => new ProgramCoursesDto
     {
         Course = x.Course,
         IsMandatory = x.IsMandatory,
         Prerequisites = _schoolContext.CoursesPrerequisites
                         .Where(y => y.Course.CourseId == x.Course.CourseId)
                         .Select(z => z.Prerequisite).ToList()
     }));
 }
예제 #2
0
        public IHttpActionResult GetProgramCourses(int id, int semester)
        {
            var request = new GetProgramCoursesRequest {
                ProgramId = id, Semester = semester
            };
            var response = _manager.GetProgramCourses(request);

            if (!response.IsSuccessful)
            {
                return(BadRequest(response.ToString()));
            }

            return(Ok(response));
        }
        public GetProgramCoursesResponse GetProgramCourses(GetProgramCoursesRequest request)
        {
            var response = new GetProgramCoursesRequestValidator().Validate(request).ToResponse <GetProgramCoursesResponse>();

            if (!response.IsSuccessful)
            {
                return(response);
            }

            try
            {
                response.ProgramsCoursesDto = _programsRepository.GetProgramCourses(request).ToList();
            }
            catch (Exception ex)
            {
                response.IsSuccessful = false;
                response.Errors.Add("An error has occurred while getting program courses!");
                _logger.LogException(ex);
            }
            return(response);
        }