Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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());
        }