public ActionResult ConsultarSerasa(string CPFCNPJ, string UF = "")
        {
            using (var solicitacaoBLL = new SolicitacaoBLL())
            {

                // Consultar o Serasa.
                #region retorna um JSON com o resultado da consulta Confie do Serasa

                // RETIRA OS CARACTERES ESPECIAIS.
                CPFCNPJ = Regex.Replace(CPFCNPJ, @"(\s+)|(\\+)|(\.+)|(/+)|(\-+)", "");

                if (!ValidaDocumento(CPFCNPJ))
                {
                    return Json(new { erro = "CPF ou CNPJ Inválido" }, JsonRequestBehavior.DenyGet);
                }

                var resConsulta = solicitacaoBLL.PreparaConsultaConfie(CPFCNPJ, UF);

                var CodIBGE = resConsulta.DadosReceita.CodIBGE;
                var CodIBGESin = resConsulta.DadosSintegra.CodIBGE;

                if (resConsulta.DadosReceita == null && resConsulta.DadosSintegra == null)
                {
                    return Json(new { erro = "Dados não encontrados." }, JsonRequestBehavior.DenyGet);
                }

                else
                {
                    // Salva o LOG da consulta na base.
                    var consultaReceitaBLL = new ConsultaReceitaBLL();
                    var consultaReceita = new ConsultaReceita();

                    consultaReceita.Codusucon = ((UsuarioSapiens)Session["ConexaoSapiens"]).Codusu;
                    consultaReceita.Datcon = DateTime.Now;

                    consultaReceita.Sitrec = resConsulta.DadosReceita.Situacao;
                    consultaReceita.Sitsin = resConsulta.DadosSintegra.Situacao;
                    consultaReceita.Documento = CPFCNPJ;

                    //consultaReceita.Solicitacao = s;
                    consultaReceitaBLL.Salvar(consultaReceita);

                   // var IEValida = SICAD.DAL.ConsultaConfie.ValidarInscricaoEstadual(resConsulta.DadosSintegra.InscricaoEstadual, ref IEFormatada);
                    var IEFormatada = SICAD.DAL.ConsultaConfie.FormatarInscricaoEstadual(resConsulta.DadosReceita.UF, resConsulta.DadosSintegra.InscricaoEstadual);

                    // atualizar sempre e sobrescrever os valores na tela.
                    return Json(new
                    {
                        CPFCNPJ = CPFCNPJ,
                        SituacaoReceita = resConsulta.DadosReceita.Situacao,
                        SituacaoSin = resConsulta.DadosSintegra.Situacao,
                        /* Dados Principais do Sapiens ------------------------------------ */
                        NomeFantasia = !String.IsNullOrEmpty(resConsulta.DadosReceita.Nome) ? resConsulta.DadosReceita.Nome : resConsulta.DadosSintegra.Nome,
                        RazaoSocial = resConsulta.DadosReceita.RazaoSocial,
                        Logradouro = !String.IsNullOrEmpty(resConsulta.DadosReceita.Endereco) ? resConsulta.DadosReceita.Endereco : resConsulta.DadosSintegra.Endereco,
                        DataUltimaConsulta = new DateTime(),
                        Bairro = !String.IsNullOrEmpty(resConsulta.DadosReceita.Bairro) ? resConsulta.DadosReceita.Bairro : resConsulta.DadosSintegra.Bairro,
                        Cidade = !String.IsNullOrEmpty(resConsulta.DadosReceita.Municipio) ? resConsulta.DadosReceita.Municipio : resConsulta.DadosSintegra.Municipio,
                        UF = !String.IsNullOrEmpty(resConsulta.DadosReceita.UF) ? resConsulta.DadosReceita.UF : resConsulta.DadosSintegra.UF,
                        CEP = !String.IsNullOrEmpty(resConsulta.DadosReceita.CEP) ? resConsulta.DadosReceita.CEP : resConsulta.DadosSintegra.CEP,
                        Complemento = !String.IsNullOrEmpty(resConsulta.DadosReceita.Complemento) ? resConsulta.DadosReceita.Complemento : resConsulta.DadosSintegra.Complemento,
                        Numero = !String.IsNullOrEmpty(resConsulta.DadosReceita.Numero) ? resConsulta.DadosReceita.Numero : resConsulta.DadosSintegra.Num,
                        InscricaoEstadualSin = IEFormatada,//////////////////
                        CodIBGE = !String.IsNullOrEmpty(resConsulta.DadosReceita.CodIBGE) ? resConsulta.DadosReceita.CodIBGE : resConsulta.DadosSintegra.CodIBGE,

                        #region----------------------  daqui pra baixo, é o que veio do SERASA ------------------

                        // não está usando
                        //CNAE = resConsulta.DadosReceita.CNAE,
                        //DataAbertura = resConsulta.DadosReceita.DataAbertura,
                        //DescCNAE = resConsulta.DadosReceita.DescCNAE,
                        //NaturezaJuridica = resConsulta.DadosReceita.NaturezaJuridica,
                        //Simples = resConsulta.DadosReceita.Simples,
                        //DescAtividadeEconomicaSin = resConsulta.DadosSintegra.DescAtividadeEconomica,
                        //DistritoIBGESin = resConsulta.DadosSintegra.DistritoIBGE,
                        //ObservacaoSin = resConsulta.DadosSintegra.Observacao,
                        //UF = resConsulta.DadosReceita.UF,

                        #endregion
                    }, JsonRequestBehavior.DenyGet);
                }
                #endregion
            }//fim do using
        }
Example #2
0
        public ActionResult ConsultarSerasa(string CPFCNPJ, string UF)
        {
            var solicitacaoBLL = new SolicitacaoBLL();

            // SE NÃO FOR, Consultar o Serasa.
            #region retorna um JSON com o resultado da consulta Confie do Serasa

            // RETIRA OS CARACTERES ESPECIAIS.
            CPFCNPJ = Regex.Replace(CPFCNPJ, @"(\s+)|(\\+)|(\.+)|(/+)|(\-+)", "");

            if (!ValidaDocumento(CPFCNPJ))
            {
                return Json(new { erro = "CPF ou CNPJ Inválido" }, JsonRequestBehavior.DenyGet);
            }

            var resConsulta = solicitacaoBLL.PreparaConsultaConfie(CPFCNPJ, UF);

            var CodIBGE = resConsulta.DadosReceita.CodIBGE;
            var CodIBGESin = resConsulta.DadosSintegra.CodIBGE;

            if (resConsulta.DadosReceita == null && resConsulta.DadosSintegra == null)
            {
                return Json(new { erro = "Dados não encontrados." }, JsonRequestBehavior.DenyGet);
            }
            else
            {
                // Salva o LOG da consulta na base.
                var consultaReceitaBLL = new ConsultaReceitaBLL();
                var consultaReceita = new ConsultaReceita();

                consultaReceita.Codusucon = ((UsuarioSapiens)Session["ConexaoSapiens"]).Codusu;

                consultaReceita.Datcon = DateTime.Now;

                consultaReceita.Sitrec = resConsulta.DadosReceita.Situacao;
                consultaReceita.Sitsin = resConsulta.DadosSintegra.Situacao;
                consultaReceita.Documento = CPFCNPJ;

                //consultaReceita.Solicitacao = s;
                consultaReceitaBLL.Salvar(consultaReceita);

                // se já existirem dados de solicitação, use-os , senão, use o que veio na consulta.
                // atualizar sempre :
                var p = Session["Parecer"] as ParecerSolicitacao;

                var jaTemDadosPrincipais = p.DadosPrincipaisAprovacao.Count > 0;

                var dps = jaTemDadosPrincipais ? p.DadosPrincipaisAprovacao.Last() : null;

                return Json(new
                {
                    CPFCNPJ = jaTemDadosPrincipais ? dps.CPFCNPJ : CPFCNPJ,
                    TipoCliente = jaTemDadosPrincipais ? dps.TipoCliente as string : "",
                    CodCliente = jaTemDadosPrincipais ? dps.CodClienteDadoPrincipalApr.ToString() : "",

                    /* Dados Principais do Sapiens ------------------------------------ */

                    NomeFantasia = !String.IsNullOrEmpty(resConsulta.DadosReceita.Nome) ? resConsulta.DadosReceita.Nome : resConsulta.DadosSintegra.Nome,
                    RazaoSocial = resConsulta.DadosReceita.RazaoSocial,
                    Logradouro = !String.IsNullOrEmpty(resConsulta.DadosReceita.Endereco) ? resConsulta.DadosReceita.Endereco : resConsulta.DadosSintegra.Endereco,
                    DataUltimaConsulta = new DateTime(),

                    Bairro = !String.IsNullOrEmpty(resConsulta.DadosReceita.Bairro) ? resConsulta.DadosReceita.Bairro : resConsulta.DadosSintegra.Bairro,
                    Cidade = !String.IsNullOrEmpty(resConsulta.DadosReceita.Municipio) ? resConsulta.DadosReceita.Municipio : resConsulta.DadosSintegra.Municipio,
                    UF = !String.IsNullOrEmpty(resConsulta.DadosReceita.UF) ? resConsulta.DadosReceita.UF : resConsulta.DadosSintegra.UF,
                    CEP = !String.IsNullOrEmpty(resConsulta.DadosReceita.CEP) ? resConsulta.DadosReceita.CEP : resConsulta.DadosSintegra.CEP,
                    Complemento = !String.IsNullOrEmpty(resConsulta.DadosReceita.Complemento) ? resConsulta.DadosReceita.Complemento : resConsulta.DadosSintegra.Complemento,
                    Numero = !String.IsNullOrEmpty(resConsulta.DadosReceita.Numero) ? resConsulta.DadosReceita.Numero : resConsulta.DadosSintegra.Num,

                    Telefone = jaTemDadosPrincipais ? dps.Telefone : "",
                    Telefone2 = jaTemDadosPrincipais ? dps.Telefone2 : "",
                    Telefone3 = jaTemDadosPrincipais ? dps.Telefone3 : "",
                    Telefone4 = jaTemDadosPrincipais ? dps.Telefone4 : "",
                    Telefone5 = jaTemDadosPrincipais ? dps.Telefone5 : "",

                    NumeroFax = jaTemDadosPrincipais ? dps.NumeroFax : "",

                    // DataAbertura = cliente.datcad as DateTime?, //usar no socio.
                    // Ativo = cliente.sitcli as string,

                    InscricaoEstadualSin = resConsulta.DadosSintegra.InscricaoEstadual,
                    CodTipoMercado = jaTemDadosPrincipais ? dps.TipoMercado : "",
                    CodTipoEmpresa = jaTemDadosPrincipais ? dps.TipoEmpresa : "",
                    CodTipoDireitoPropriedade = jaTemDadosPrincipais ? dps.TipoDireitoPropriedadeEmpresa : "",
                    CodRamoAtividade = jaTemDadosPrincipais ? dps.CodRamoAtividade : "",
                    CodRamoFiscal = jaTemDadosPrincipais ? dps.RamoFiscal : "",
                    CodRota = jaTemDadosPrincipais ? dps.CodRota : "",
                    CodSubRota = jaTemDadosPrincipais ? dps.CodSubRota : "",
                    CodGrupoEmpresa = jaTemDadosPrincipais ? dps.CodGrupoEmpresa : "",
                    CodIBGE = !String.IsNullOrEmpty(resConsulta.DadosReceita.CodIBGE) ? resConsulta.DadosReceita.CodIBGE : resConsulta.DadosSintegra.CodIBGE,
                    TributaICMS = jaTemDadosPrincipais ? dps.TributaICMS : "",
                    CobraCliente = jaTemDadosPrincipais ? dps.CobraCliente : "",
                    ExpurgaDaInadimplencia = jaTemDadosPrincipais ? dps.ExpurgaDaInadimplencia : "",
                    ObservacaoMotivoSituacao = jaTemDadosPrincipais ? dps.ObservacaoMotivoSituacao : "",

                    //----------------------  daqui pra baixo, é o que veio do SERASA ---------------//
                    //Bairro = resConsulta.DadosReceita.Bairro,
                    //CEP = resConsulta.DadosReceita.CEP,
                    CNAE = resConsulta.DadosReceita.CNAE,
                    DataAbertura = resConsulta.DadosReceita.DataAbertura,
                    DescCNAE = resConsulta.DadosReceita.DescCNAE,
                    NaturezaJuridica = resConsulta.DadosReceita.NaturezaJuridica,
                    Simples = resConsulta.DadosReceita.Simples,
                    SituacaoReceita = resConsulta.DadosReceita.Situacao,
                    SituacaoSin = resConsulta.DadosSintegra.Situacao,
                    DescAtividadeEconomicaSin = resConsulta.DadosSintegra.DescAtividadeEconomica,
                    DistritoIBGESin = resConsulta.DadosSintegra.DistritoIBGE,
                    ObservacaoSin = resConsulta.DadosSintegra.Observacao,
                    //Complemento = resConsulta.DadosReceita.Complemento,
                    //Logradouro = resConsulta.DadosReceita.Endereco,
                    //Cidade = resConsulta.DadosReceita.Municipio,
                    //NomeFantasia = resConsulta.DadosReceita.Nome,
                    //Numero = resConsulta.DadosReceita.Numero,
                    //RazaoSocial = resConsulta.DadosReceita.RazaoSocial,
                    //UF = resConsulta.DadosReceita.UF,

                    //BairroSin = resConsulta.DadosSintegra.Bairro,
                    //CEPSin = resConsulta.DadosSintegra.CEP,
                    //ComplementoSin = resConsulta.DadosSintegra.Complemento,
                    //EnderecoSin = resConsulta.DadosSintegra.Endereco,
                    //InscricaoEstadualSin = resConsulta.DadosSintegra.InscricaoEstadual,
                    //CidadeSin = resConsulta.DadosSintegra.Municipio,
                    //NomeSin = resConsulta.DadosSintegra.Nome,
                    //NumeroSin = resConsulta.DadosSintegra.Num,
                    //UFSin = resConsulta.DadosSintegra.UF

                }, JsonRequestBehavior.DenyGet);
            }
            #endregion
        }