public ActionResult <TerrorismEvent> Post([FromBody] TerrorismEvent newEvent) { // Add schema header related to accept data type this.HttpContext.Request.Headers.TryGetValue("Accept", out var accept); switch (accept) { case "application/json": Response.Headers.Add("link", JSON_SCHEMA); break; case "application/xml": Response.Headers.Add("link", XML_SCHEMA); break; default: return(BadRequest("Invalid accept header! (application/xml OR application/json)")); } // check ID // error on exist // return new object on success. if (database.Gtd.Any(x => x.eventid == newEvent.eventid)) { return(Conflict("Event with this eventid already exists!")); } database.Gtd.Add(newEvent); database.SaveChanges(); return(newEvent); }
public ActionResult <TerrorismEvent> Put([FromBody] TerrorismEvent updatedEvent) { // Add schema header related to accept data type this.HttpContext.Request.Headers.TryGetValue("Accept", out var accept); switch (accept) { case "application/json": Response.Headers.Add("link", JSON_SCHEMA); break; case "application/xml": Response.Headers.Add("link", XML_SCHEMA); break; default: return(BadRequest("Invalid accept header! (application/xml OR application/json)")); } if (!database.Gtd.Any(x => x.eventid == updatedEvent.eventid)) { return(Conflict("No such event with this eventid to update!")); } //update an event and return the old value var oldEvent = database.Gtd.First(x => x.eventid == updatedEvent.eventid); database.Gtd.Update(updatedEvent); database.SaveChanges(); return(oldEvent); }