@Override
  public Contact create(Contact contact) throws ContactServiceException {

    Contact contactBD = contactRepository.findOneByEmail(contact.getEmail());

    if (contactBD == null) {
      return contactRepository.saveAndFlush(contact);
    }

    throw new ContactServiceException();
  }
  @Override
  public Contact delete(Integer id) throws ContactServiceException {

    Contact contactBD = contactRepository.findOne(id);

    if (contactBD == null) {
      throw new ContactServiceException();
    }

    contactRepository.delete(contactBD);
    return contactBD;
  }
  @Override
  public Contact update(Integer id, Contact contact) throws ContactServiceException {

    Contact contactBD = contactRepository.findOne(id);

    if (contactBD == null) {
      throw new ContactServiceException();
    }

    contactBD.setName(contact.getName());
    contactBD.setEmail(contact.getEmail());
    return contactRepository.saveAndFlush(contactBD);
  }
  @Override
  public Contact view(Integer id) throws ContactServiceException {

    Contact contact = contactRepository.findOne(id);

    if (contact == null) {
      throw new ContactServiceException();
    }

    return contact;
  }
 @Override
 public List<Contact> list() {
   return contactRepository.findAll();
 }