/// <summary> /// Updates a contact. /// </summary> /// <param name="contactId">Contact identifier.</param> /// <param name="contactResource">New contact information</param> /// <returns>Contact information.</returns> public async Task <DataResponse <ContactResource> > UpdateAsync(int contactId, SaveContactResource contactResource) { try { if (contactResource == null) { throw new ArgumentNullException(nameof(contactResource)); } var contact = await _contactRepository.FindByIdAsync(contactId); if (contact == null) { throw new NotFoundException(nameof(Contact), contactId); } ContactMapper.Map(contact, contactResource); _contactRepository.Update(contact); await _unitOfWork.SaveChangesAsync(); var resource = _mapper.Map <Contact, ContactResource>(contact); return(new DataResponse <ContactResource>(resource)); } catch (Exception ex) { Console.WriteLine(ex.Message); return(new DataResponse <ContactResource>(ex.Message)); } }
public async Task <IActionResult> PostAsync( [FromBody] SaveContactResource saveContactResource) { var response = await _contactService.AddAsync(saveContactResource); if (!response.Success) { return(BadRequest(response)); } return(Ok(response)); }
public async Task <IActionResult> PutAsync(int id, [FromBody] SaveContactResource saveContactResource) { var response = await _contactService.UpdateAsync(id, saveContactResource); if (!response.Success) { return(BadRequest(response)); } return(Ok(response)); }
public async Task CreateContact([FromBody] SaveContactResource contact) { var validator = new SaveContactResourceValidator(); var result = await validator.ValidateAsync(contact); if (!result.IsValid) { throw new Exception(result.Errors.ToString()); } var contactToCreate = this._mapper.Map <SaveContactResource, GebruikerContact>(contact); await _contactService.CreateContact(contactToCreate); }
public static void Map(Contact contact, SaveContactResource contactResource) { if (contact == null || contactResource == null) { throw new ArgumentNullException("Wrong contact or contact resource provided."); } var type = Enum.GetValues(typeof(ContactType)) .Cast <ContactType>() .Where(t => t.ToString() == contactResource.Type) .FirstOrDefault(); contact.Name = contactResource.Name; contact.Type = type; contact.BirthDate = contactResource.BirthDate; contact.Phone = contactResource.Phone; }
/// <summary> /// Adds a contact. /// </summary> /// <param name="contactResource">New contact information</param> /// <returns>Contact information.</returns> public async Task <DataResponse <ContactResource> > AddAsync(SaveContactResource contactResource) { try { if (contactResource == null) { throw new ArgumentNullException(nameof(contactResource)); } var contact = _mapper.Map <SaveContactResource, Contact>(contactResource); await _contactRepository.AddAsync(contact); await _unitOfWork.SaveChangesAsync(); var resource = _mapper.Map <Contact, ContactResource>(contact); return(new DataResponse <ContactResource>(resource)); } catch (Exception ex) { Console.WriteLine(ex.Message); return(new DataResponse <ContactResource>(ex.Message)); } }