public ICommandResult Update(ContatoDto dto) { if (!_contatoRepositorio.ExisteContato(dto.Id)) { return(new CommandResult(false, "O Contato não existe")); } var nome = new Nome(dto.Nome, dto.SobreNome); var email1 = new EMAIL(dto.Email, ETipoEmail.Principal); var email2 = new EMAIL(dto.Email2, ETipoEmail.Secundario); var cpf = new CPF(dto.Cpf); var contato = new Contato(nome, dto.Sexo, dto.Idade, dto.DataNascimento, dto.TelefoneComercial, dto.TelefoneCelular, dto.TelefoneResidencial, dto.TelefoneAdicional, email1, email2, dto.Rg, cpf, null, null, null, null); if (!contato.Validar()) { return(new CommandResult(false, "erro", contato.Erros)); } _contatoRepositorio.Update(contato); return(new CommandResult(true, "Contato alterado com sucesso!")); }