// POST api/Artists public HttpResponseMessage PostArtist(Artist artist) { if (ModelState.IsValid) { db.Artists.Add(artist); db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, artist); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = artist.ArtistId })); return response; } else { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } }
internal static void AddNewArtist(string name, string country, DateTime birthdate) { var artist = new Artist { Name = name, Country = country, BirthDate = birthdate }; // use one of the following two lines per round var response = Client.PostAsXmlAsync("api/artists", artist).Result; // var response = Client.PostAsJsonAsync("api/artists", artist).Result; if (response.IsSuccessStatusCode) { Console.WriteLine("Artist added!"); } else { Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); } }
// PUT api/Artists/5 public HttpResponseMessage PutArtist(int id, Artist artist) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } if (id != artist.ArtistId) { return Request.CreateResponse(HttpStatusCode.BadRequest); } db.Entry(artist).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex); } return Request.CreateResponse(HttpStatusCode.OK); }