public async Task <Dominio.Servicos.Resposta <Modelos.Contato> > Atualizar(DTOs.AlteraContato dadosContato) { var resposta = new Resposta <Modelos.Contato>(); var contatoEncontrado = await _contatos.ObterPorId(dadosContato.Id); if (contatoEncontrado == null) { resposta.Erro = new ErroObjetoNaoEncontrado("Contato"); } else { var contato = new Fabricas.Contato().Nome(dadosContato.Nome) .Celular(dadosContato.Celular) .Telefone(dadosContato.Telefone) .Email(dadosContato.Email) .Usuario(contatoEncontrado.Usuario) .Id(dadosContato.Id) .Criar(); contato.Id = await _contatos.Salvar(contato); resposta.Resultado = contato; } return(resposta); }
public async Task Deve_Retornar_Erro_Quando_Tentar_Atualizar_Um_Contato_Inexistente() { var contato = new DTOs.AlteraContato { Id = 1, Nome = "Contato", Telefone = "11 45873214", Celular = "11 985478521", Email = "*****@*****.**" }; var resposta = await _servico.Atualizar(contato); resposta.Erro.Mensagem.Should().Be("Contato não encontrado(a)!"); resposta.Erro.StatusCode.Should().Be(404); resposta.Erro.GetType().Should().Be(typeof(ErroObjetoNaoEncontrado)); }
public async Task Deve_Atualizar_Um_Contato() { var usuario = new Modelos.Usuario("usuario", "123", "usuário nome"); var contato = new DTOs.AlteraContato { Id = 1, Nome = "Contato", Telefone = "11 45873214", Celular = "11 985478521", Email = "*****@*****.**" }; _contatos.Setup(repositorio => repositorio.ObterPorId(It.IsAny <int>())) .Returns(Task.FromResult(new Modelos.Contato("Contato", "11 985478521", "11 45873214", "*****@*****.**", usuario))); var resposta = await _servico.Atualizar(contato); resposta.TemErro().Should().BeFalse(); }
public async Task <IActionResult> Put([FromHeader(Name = "Authorization")] string token, [FromBody] DTOs.AlteraContato dadosContato, [FromRoute] int id) { var tokenEhValido = await _servicoUsuario.ValidarToken(token); if (tokenEhValido) { dadosContato.Id = id; var resposta = await _servico.Atualizar(dadosContato); if (resposta.TemErro()) { return(StatusCode(resposta.Erro.StatusCode, new { resposta.Erro.Mensagem })); } return(NoContent()); } return(Unauthorized()); }