// POST api/FishEvent public HttpResponseMessage PostFishEvent(FishEvent fishevent) { logger.Info(fishevent); if (ModelState.IsValid) { try { var user = db.Users.Find(fishevent.User.Id); fishevent.User = user; db.FishEvents.AddOrUpdate(fishevent); db.SaveChanges(); } catch (Exception e) { var sb = new StringBuilder(); sb.AppendLine(e.Message); sb.AppendLine("Inner Exceptions: "); Exception ex = e; while((ex = ex.InnerException) != null) { sb.AppendLine("Inner Exception: " + e.InnerException.Message); } sb.AppendLine("StackTrace: " + e.StackTrace); logger.Error(sb.ToString()); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, new { FishEvent = fishevent }); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = fishevent.Id })); return response; } else { return Request.CreateResponse(HttpStatusCode.BadRequest); } }
// PUT api/FishEvent/5 public HttpResponseMessage PutFishEvent(int id, FishEvent fishevent) { if (ModelState.IsValid && id == fishevent.Id) { db.Entry(fishevent).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return Request.CreateResponse(HttpStatusCode.NotFound); } return Request.CreateResponse(HttpStatusCode.OK); } else { return Request.CreateResponse(HttpStatusCode.BadRequest); } }