// POST: api/Addresses public HttpResponseMessage PostAddress(Address address) { if (!ModelState.IsValid) { return Request.CreateResponse(HttpStatusCode.BadRequest, ModelState); } try { address = service.Addresses.Create(address); service.Save(); var response = Request.CreateResponse(HttpStatusCode.Created, address); string uri = Url.Link("DefaultApi", new { id = address.Id }); response.Headers.Location = new Uri(uri); return response; } catch (Exception ex) { return Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message); } }
// PUT: api/Addresses/5 public HttpResponseMessage PutAddress(int id, Address address) { if (!ModelState.IsValid) { return Request.CreateResponse(HttpStatusCode.BadRequest, ModelState); } if (id != address.Id) { return Request.CreateResponse(HttpStatusCode.BadRequest, "Addresses id is not the same with given id"); } try { service.Addresses.Update(address); service.Save(); } catch (Exception ex) { if (!AddressExists(id)) { return Request.CreateResponse(HttpStatusCode.NotFound, "Address with given id not found"); } return Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message); } return Request.CreateResponse(HttpStatusCode.OK, address); }