예제 #1
0
        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);
        }
예제 #2
0
        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);
        }