예제 #1
0
        public async Task <ActionResult <Endereco> > Get(int id)
        {
            var Endereco = await _repositorio.BuscaEndereco(id);

            if (Endereco == null)
            {
                return(NotFound());
            }

            return(Endereco);
        }
예제 #2
0
        public async Task <ActionResult> Put(int id, [FromForm] AlterarUsuarioViewModel usuario)
        {
            bool ok = ValidaForm(usuario);

            if (ok == false)
            {
                return(NoContent());
            }

            // Verifica se existe o usuario no banco através do id passado por parametro
            var ExisteUsuario = await _repositorio.BuscarPorID(id);

            TelefoneRepository _tel = new TelefoneRepository();
            var Tel = await _tel.BuscaTelefone(id) != null ? await _tel.BuscaTelefone(id) : null;

            EnderecoRepository _end = new EnderecoRepository();
            var End = await _end.BuscaEndereco(id) != null ? await _end.BuscaEndereco(id) : null;

            //Se o Id do objeto não existir
            if (ExisteUsuario == null)
            {
                return(NotFound(
                           new
                {
                    Mensagem = "Usuário não encontrado.",
                    Erro = true
                }));
            }

            try {
                var UsuarioAlterado = VerificaAlteracao(ExisteUsuario, usuario);
                var user            = await _repositorio.Alterar(UsuarioAlterado);

                if (Tel != null)
                {
                    var TelefoneAlterado = VerificaAlteracaoTel(Tel, usuario);
                    var tel = await _tel.Alterar(TelefoneAlterado);
                }

                if (End != null)
                {
                    var EnderecoAlterado = VerificaAlteracaoEndereco(End, usuario);
                    var end = await _end.Alterar(EnderecoAlterado);
                }
            } catch (DbUpdateConcurrencyException) {
                //Verificamos se o objeto realmente existe no banco
                var usuario_valido = await _repositorio.BuscarPorID(id);

                if (usuario_valido == null)
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(
                       new
            {
                Mensagem = "Usuário alterado com sucesso.",
                Erro = false
            }
                       ));
        }