public async Task<IHttpActionResult> PutPerson(long 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 async Task<IHttpActionResult> PostPerson(Person person) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.Person.Add(person); await db.SaveChangesAsync(); //db.Entry(person).Reference(x => x.Adresser).Load(); //db.Entry(person).Reference(x => x.FolkeregisterAdresse).Load(); //db.Entry(person).Reference(x => x.Telefon).Load(); var dto = new PersonDTO() { Id = person.Id, Fornavn = person.Fornavn, Mellemnavn = person.Mellemnavn, Efternavn = person.Efternavn, PersonType = person.Persontype, FolkeregisterAdresseId = person.FolkeregisterAdresseId, Telefoner = (List<long>)person.Telefon.Select(t => t.TelefonId).Distinct(), Adresser = (List<long>)person.Adresser.Select(a => a.AdresseId).Distinct(), }; return CreatedAtRoute("DefaultApi", new { id = person.Id }, dto); }