public Person Create(Person person) { if (person == null) { throw new ArgumentNullException("person"); } person.Id = _nextId++; _people.Add(person); return person; }
public int Update(Person person) { if (person == null) { throw new ArgumentNullException("person"); } int index = _people.FindIndex(e => e.Id == person.Id); if (index == -1) { return 0; } _people.RemoveAt(index); _people.Add(person); return 1; }
// PUT /api/Person/3 public HttpResponseMessage Put(int Id, Person person) { if (ModelState.IsValid) { try { int numRowsAffected = _personRepository.Update(person); var response = Request.CreateResponse<CrudResult>(HttpStatusCode.OK, new CrudResult(CrudStatusCode.Success, numRowsAffected, new List<Person> { person })); string uri = Url.Link("DefaultApi", new { Id = person.Id }); response.Headers.Location = new Uri(uri); return response; } catch (Exception ex) { return Request.CreateErrorResponse(HttpStatusCode.NotModified, ex.Message); } } else { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } }