public HttpResponseMessage PutCourse(int id, CourseUpdate course)
 {
     if (ModelState.IsValid && id == course.CourseId)
     {
         // Attempt to update the item
         var updatedcourse = r.UpdateCourse(course);
         return (updatedcourse == null) ?
             Request.CreateResponse(HttpStatusCode.BadRequest) :
             Request.CreateResponse(HttpStatusCode.OK, updatedcourse);
     }
     else
     {
         return Request.CreateResponse(HttpStatusCode.BadRequest);
     }
 }
        // Update specific item
        public CourseUpdate UpdateCourse(CourseUpdate updatedCourse)
        {
            var p = ds.Courses.Find(updatedCourse.Id);

            if (p == null)
            {
                return null;
            }
            else
            {
                // For the object fetched from the data store,
                // set its values to those provided
                // (the method ignores missing properties, and navigation properties)
                ds.Entry(p).CurrentValues.SetValues(updatedCourse);
                ds.SaveChanges();
                return updatedCourse;
            }
        }