public async Task <IActionResult> PutContact(Guid id, ContactDisplay contact) { if (id != contact.ContactId) { return(BadRequest()); } var contactEntity = await _context.Contacts.Include("PhoneNumbers").FirstOrDefaultAsync(i => i.ContactId == id); if (contactEntity == null) { return(NotFound()); } contactEntity.UpdateContactFromDisplay(contact); try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) when(!ContactExists(id)) { return(NotFound()); } return(NoContent()); }
public async Task <ActionResult <ContactDisplay> > GetContact(Guid id) { var contact = await _context.Contacts.Include("PhoneNumbers").FirstOrDefaultAsync(n => n.ContactId == id); if (contact == null) { return(NotFound()); } return(ContactDisplay.CreateContactDisplay(contact)); }
public async Task <ActionResult <Contact> > PostContact(ContactDisplay contact) { var contactEntity = new Contact { Address = contact.Address, Name = contact.Name, DateOfBirth = contact.DateOfBirth, PhoneNumbers = contact.Numbers.Select(n => new PhoneNumber { Number = n.Number }).ToList() }; _context.Contacts.Add(contactEntity); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(GetContact), new { id = contact.ContactId }, ContactDisplay.CreateContactDisplay(contactEntity))); }
public async Task <ActionResult <IEnumerable <ContactDisplay> > > GetContacts() { return(await _context.Contacts.Include("PhoneNumbers").Select(cd => ContactDisplay.CreateContactDisplay(cd)) .ToListAsync()); }