// POST api/Drills public HttpResponseMessage PostDrill(Drill drill) { if (ModelState.IsValid) { db.Drills.Add(drill); db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, drill); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = drill.Id })); return response; } else { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } }
// PUT api/Drills/5 public HttpResponseMessage PutDrill(int id, Drill drill) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } if (id != drill.Id) { return Request.CreateResponse(HttpStatusCode.BadRequest); } db.Entry(drill).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex); } return Request.CreateResponse(HttpStatusCode.OK); }