public async Task<IHttpActionResult> PutPerson(int id, Person person)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != person.Id)
            {
                return BadRequest();
            }

            db.Entry(person).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PersonExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
 public Person PostPerson(Person person)
 {
     var newPerson = personRepository.AddPerson(person);
     if(newPerson != null)
     {
         return newPerson;
     }
     throw  new HttpResponseException(HttpStatusCode.InternalServerError);
 }
 public Person Create(PersonAddOptions options)
 {
     var entity = new Person
     {
         Id = _nextId++,
         First = options.First,
         Last = options.Last
     };
     _people.Add(entity);
     JsonFileToList<Person>.Write(_filename, _people);
     return entity;
 }
        public async Task<IHttpActionResult> PostPerson(Person person)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.People.Add(person);
            await db.SaveChangesAsync();

            return CreatedAtRoute("DefaultApi", new { id = person.Id }, person);
        }