public ActionResult CriarVerificarCpfCnpj(PessoaVM vm)
        {
            bool   isCpfCnpjValido = false;
            String urlAcao         = Url.Action("Criar", "Credenciado");

            try
            {
                isCpfCnpjValido = _bus.ValidarPessoaCpfCnpj(vm.Pessoa);

                if (isCpfCnpjValido)
                {
                    string tipoDocumento = vm.Pessoa.IsFisica ? "CPF" : "CNPJ";
                    vm.ExisteCredenciado = _bus.ExisteCredenciado(vm.Pessoa.CPFCNPJ);

                    if (!vm.ExisteCredenciado)
                    {
                        vm.ExisteInterno = _bus.ExisteInterno(vm.Pessoa.CPFCNPJ);

                        if (vm.ExisteInterno)
                        {
                            Validacao.Add(Mensagem.Credenciado.PessoaExistenteInterno(tipoDocumento));
                        }
                    }
                    else
                    {
                        if (_bus.IsCredenciadoOrgaoParceiroPublico(vm.Pessoa.CPFCNPJ))
                        {
                            Validacao.Add(Mensagem.Credenciado.AtualizarEmail(tipoDocumento));
                            return(Json(new
                            {
                                IsRedirecionar = true,
                                UrlAcao = Url.Action("Reenviar", "Credenciado", Validacao.QueryParamSerializer(new { cpfCnpj = vm.Pessoa.CPFCNPJ })),
                                Msg = Validacao.Erros
                            }, JsonRequestBehavior.AllowGet));
                        }

                        if (!_bus.IsBloqueado(vm.Pessoa.CPFCNPJ))
                        {
                            if (!_bus.IsCredenciadoAtivo(vm.Pessoa.CPFCNPJ))
                            {
                                Validacao.Add(Mensagem.Credenciado.ReenviarChave(tipoDocumento));
                                return(Json(new
                                {
                                    IsRedirecionar = true,
                                    UrlAcao = Url.Action("Reenviar", "Credenciado", Validacao.QueryParamSerializer(new { cpfCnpj = vm.Pessoa.CPFCNPJ })),
                                    Msg = Validacao.Erros
                                }, JsonRequestBehavior.AllowGet));
                            }
                            else
                            {
                                isCpfCnpjValido = false;
                                Validacao.Add(Mensagem.Credenciado.ExistenteAtivado(tipoDocumento));
                            }
                        }
                        else
                        {
                            isCpfCnpjValido = false;
                            Validacao.Add(Mensagem.Credenciado.CredenciadoBloqueado(tipoDocumento));
                        }
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Json(new
            {
                IsCpfCnpjValido = isCpfCnpjValido,
                PessoaId = 0,
                Parametros = new { cpfCnpj = vm.Pessoa.CPFCNPJ, tipoPessoa = vm.Pessoa.Tipo, tipoCadastro = vm.TipoCadastro, existeCredenciado = vm.ExisteCredenciado, existeInterno = vm.ExisteInterno },
                UrlAcao = urlAcao,
                Msg = Validacao.Erros
            }, JsonRequestBehavior.AllowGet));
        }