Exemplo n.º 1
0
        public HttpResponseMessage GetCourseById(int id)
        {
            var requestedCourseFromDb = this.data.Courses.SearchFor(s => s.Id == id).FirstOrDefault();
            if (requestedCourseFromDb == null)
            {
                return this.Request.CreateResponse(HttpStatusCode.NotFound, "Course not found!");
            }

            var courseToReturn = new CourseTemplate
            {
                Name = requestedCourseFromDb.Name,
                Description = requestedCourseFromDb.Description
            };

            return this.Request.CreateResponse(HttpStatusCode.OK, courseToReturn);
        }
Exemplo n.º 2
0
        public HttpResponseMessage AddCourse(CourseTemplate course)
        {
            if (!this.ModelState.IsValid)
            {
                return this.Request.CreateResponse(HttpStatusCode.BadRequest, this.ModelState);
            }

            var newCourseToAdd = new Course
            {
                Name = course.Name,
                Description = course.Description
            };

            this.data.Courses.Add(newCourseToAdd);
            this.data.SaveChanges();

            var response = this.Request.CreateResponse<CourseTemplate>(HttpStatusCode.Created, course);

            string uri = this.Url.Link("DefaultApi", new { id = newCourseToAdd.Id });
            response.Headers.Location = new Uri(uri);
            return response;
        }
Exemplo n.º 3
0
        public HttpResponseMessage UpdateCourse(int id, CourseTemplate updatedCourse)
        {
            var requestedCourseFromDb = this.data.Courses.SearchFor(s => s.Id == id).FirstOrDefault();
            if (requestedCourseFromDb == null)
            {
                return this.Request.CreateResponse(HttpStatusCode.NotFound, "Course not found!");
            }

            if (!this.ModelState.IsValid)
            {
                return this.Request.CreateResponse(HttpStatusCode.BadRequest, this.ModelState);
            }

            requestedCourseFromDb.Name = updatedCourse.Name;
            requestedCourseFromDb.Description = updatedCourse.Description;
            this.data.Courses.Update(requestedCourseFromDb);
            this.data.SaveChanges();

            return this.Request.CreateResponse(HttpStatusCode.OK, "Course updated!");
        }