public HttpResponseMessage Post(int courseId, [FromUri] string userName, [FromBody] Enrollment enrollment)
        {
            try
            {
                if (!TheRepository.CourseExists(courseId))
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Could not find Course"));
                }

                var student = TheRepository.GetStudent(userName);
                if (student == null)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Could not find Student"));
                }

                var result = TheRepository.EnrollStudentInCourse(student.Id, courseId, enrollment);

                if (result == 1)
                {
                    return(Request.CreateResponse(HttpStatusCode.Created));
                }
                else if (result == 2)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotModified, "Student already enrolled in this course"));
                }

                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Esempio n. 2
0
        public IHttpActionResult Post(int courseId, [FromUri] string userName, [FromBody] Enrollment enrollment)
        {
            try
            {
                if (!TheRepository.CourseExists(courseId))
                {
                    return(BadRequest("Could not find Course"));
                }

                var student = TheRepository.GetStudent(userName);
                if (student == null)
                {
                    return(BadRequest("Could not find Student"));
                }

                var result = TheRepository.EnrollStudentInCourse(student.Id, courseId, enrollment);

                if (result == 1)
                {
                    return(Created <Enrollment>("", enrollment));
                }
                else if (result == 2)
                {
                    return(BadRequest("Student already enrolled in this course"));
                }

                return(BadRequest());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }