示例#1
0
        public Entidades.Cadastral.ResponsePJPrata PesquisaPJPrata(string CNPJ)
        {
            try
            {
                Entidades.Cadastral.ResponsePJPrata retResponse = new Entidades.Cadastral.ResponsePJPrata();

                DataSet ds = new DataSet();

                Dados.Cadastral.WS.RastreamentoPJPrata neg = new Dados.Cadastral.WS.RastreamentoPJPrata();

                neg.PesquisaPJ(CNPJ, ref ds);

                if (ds != null && ds.Tables.Count > 0)
                {
                    // Tabela 1 -> Dados Cadastrais
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        retResponse.DadosCadastrais                     = new Entidades.Cadastral.DadosCadastraisPJ();
                        retResponse.DadosCadastrais.CNPJ                = dr["CNPJ"].ToString();
                        retResponse.DadosCadastrais.RazaoSocial         = dr["RAZAO_SOCIAL"].ToString();
                        retResponse.DadosCadastrais.MatrizFilial        = dr["MATRIZ_FILIAL"].ToString();
                        retResponse.DadosCadastrais.DataAbertura        = dr["DATA_ABERTURA"].ToString();
                        retResponse.DadosCadastrais.NomeFantasia        = dr["NOME_FANTASIA"].ToString();
                        retResponse.DadosCadastrais.NaturezaJuridica    = dr["NATUREZA_JURIDICA"].ToString();
                        retResponse.DadosCadastrais.SituacaoCadastral   = dr["SITUACAO_CADASTRAL"].ToString();
                        retResponse.DadosCadastrais.DataSituacaoDastral = dr["DATA_SITUACAO_CADASTRAL"].ToString();
                    }

                    // Tabela 2 -> Dados de Telefones
                    foreach (DataRow dr in ds.Tables[1].Rows)
                    {
                        if (retResponse.Telefones == null)
                        {
                            retResponse.Telefones = new List <Entidades.Cadastral.Telefone>();
                        }

                        Entidades.Cadastral.Telefone tel = new Entidades.Cadastral.Telefone();

                        if (dr["DDD"].ToString().Trim().Equals(""))
                        {
                            tel.DDD    = 0;
                            tel.Numero = 0;
                        }
                        else
                        {
                            try
                            {
                                tel.DDD    = int.Parse(dr["DDD"].ToString());
                                tel.Numero = int.Parse(dr["TELEFONE"].ToString());
                            }
                            catch
                            {
                                tel.DDD    = 0;
                                tel.Numero = 0;
                            }
                        }

                        retResponse.Telefones.Add(tel);
                    }

                    // Tabela 3 -> Dados de Endereços
                    foreach (DataRow dr in ds.Tables[2].Rows)
                    {
                        if (retResponse.Enderecos == null)
                        {
                            retResponse.Enderecos = new List <Entidades.Cadastral.Endereco>();
                        }

                        Entidades.Cadastral.Endereco ende = new Entidades.Cadastral.Endereco();

                        ende.Logradouro  = dr["LOGRADOURO"].ToString();
                        ende.Numero      = dr["NUMERO_ENDERECO"].ToString();
                        ende.Complemento = dr["COMPLEMENTO_ENDERECO"].ToString();
                        ende.Bairro      = dr["BAIRRO"].ToString();
                        ende.Cidade      = dr["MUNICIPIO"].ToString();
                        ende.UF          = dr["UF"].ToString();
                        ende.CEP         = dr["CEP"].ToString();

                        retResponse.Enderecos.Add(ende);
                    }

                    // Tabela 4 -> Dados de CNAE
                    foreach (DataRow dr in ds.Tables[3].Rows)
                    {
                        if (retResponse.CNAE == null)
                        {
                            retResponse.CNAE = new List <Entidades.Cadastral.CNAE>();
                        }

                        Entidades.Cadastral.CNAE cnae = new Entidades.Cadastral.CNAE();

                        cnae.Codigo          = dr["CODIGO_CNAE"].ToString();
                        cnae.Ordem           = dr["ORDEM_CNAE"].ToString();
                        cnae.OrdemDescricao  = dr["ORDEM_DESC"].ToString();
                        cnae.Descricao       = dr["DESCRICAO_CNAE"].ToString();
                        cnae.Grupo           = dr["GRUPO_CNAE"].ToString();
                        cnae.Industria       = dr["INDUSTRIA"].ToString();
                        cnae.ComercioServico = dr["COMERCIO_SERVICO"].ToString();
                        cnae.Flag            = dr["FLAG"].ToString();

                        retResponse.CNAE.Add(cnae);
                    }

                    // Tabela 5 -> Dados de QSA
                    foreach (DataRow dr in ds.Tables[4].Rows)
                    {
                        if (retResponse.QSA == null)
                        {
                            retResponse.QSA = new List <Entidades.Cadastral.QSA>();
                        }

                        Entidades.Cadastral.QSA qsa = new Entidades.Cadastral.QSA();

                        qsa.Cnpj                 = dr["CNPJ"].ToString();
                        qsa.DocumentoSocio       = dr["DOCUMENTO_SOCIO"].ToString();
                        qsa.NomeSocio            = dr["NOME_SOCIO"].ToString();
                        qsa.Qualificacao         = dr["QUALIFICACAO"].ToString();
                        qsa.DataEntradaSociedade = dr["DATA_ENTRADA_SOCIEDADE"].ToString();
                        qsa.ValorParticipacao    = dr["VALOR_PARTICIPACAO"].ToString();

                        if (!qsa.DocumentoSocio.Trim().Equals(""))
                        {
                            qsa.TipoPessoa = qsa.DocumentoSocio.Trim().Length > 11 ? "PJ" : "PF";
                        }

                        retResponse.QSA.Add(qsa);
                    }
                }

                return(retResponse);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void Consultar(string numeroCNPJ)
        {
            try
            {
                string HTMLRetornado = string.Empty;

                lblMensagemRetorno.Text    = "";
                lblMensagemRetorno.Visible = false;
                divEspacoBranco.Visible    = false;
                divResultado.Visible       = false;
                divImprimirMensagemErro.Attributes.Add("style", "display:none;");

                Negocios.Cadastral.WEB.RastreamentoPJPrata n       = new Negocios.Cadastral.WEB.RastreamentoPJPrata();
                Entidades.Cadastral.ResponsePJPrata        retorno = new Entidades.Cadastral.ResponsePJPrata();

                LimparCampos();
                retorno = n.PesquisaPJPrata(numeroCNPJ);

                if (retorno != null)
                {
                    divResultado.Visible = true;

                    if (retorno.DadosCadastrais.CNPJ.Trim().Equals(""))
                    {
                        lblCNPJ.Text = "INDISPONÍVEL";
                    }
                    else
                    {
                        lblCNPJ.Text = Util.Format.FormatString(retorno.DadosCadastrais.CNPJ.PadLeft(14, '0'), Util.Format.TypeString.CNPJ);
                    }

                    lblRazaoSocial.Text  = retorno.DadosCadastrais.RazaoSocial.Trim().Equals("") ? "INDISPONÍVEL" : retorno.DadosCadastrais.RazaoSocial;
                    lblMatrizFilial.Text = retorno.DadosCadastrais.MatrizFilial.Trim().Equals("") ? "INDISPONÍVEL" : retorno.DadosCadastrais.MatrizFilial;

                    if (!retorno.DadosCadastrais.DataAbertura.Trim().Equals(""))
                    {
                        try
                        {
                            lblDataAbertura.Text = DateTime.Parse(retorno.DadosCadastrais.DataAbertura).ToString("dd/MM/yyyy");
                        }
                        catch { lblDataAbertura.Text = "INDISPONÍVEL"; }
                    }
                    else
                    {
                        lblDataSituacaoCadastral.Text = "INDISPONÍVEL";
                    }

                    lblNomeFantasia.Text      = retorno.DadosCadastrais.NomeFantasia.Trim().Equals("") ? "INDISPONÍVEL" : retorno.DadosCadastrais.NomeFantasia;
                    lblNaturezaJuridica.Text  = retorno.DadosCadastrais.NaturezaJuridica.Trim().Equals("") ? "INDISPONÍVEL" : retorno.DadosCadastrais.NaturezaJuridica;
                    lblSituacaoCadastral.Text = retorno.DadosCadastrais.SituacaoCadastral.Trim().Equals("") ? "INDISPONÍVEL" : retorno.DadosCadastrais.SituacaoCadastral;

                    if (!retorno.DadosCadastrais.DataSituacaoDastral.Trim().Equals(""))
                    {
                        try
                        {
                            lblDataSituacaoCadastral.Text = DateTime.Parse(retorno.DadosCadastrais.DataSituacaoDastral).ToString("dd/MM/yyyy");
                        }
                        catch { lblDataSituacaoCadastral.Text = "INDISPONÍVEL"; }
                    }
                    else
                    {
                        lblDataSituacaoCadastral.Text = "INDISPONÍVEL";
                    }



                    if (retorno.Enderecos != null || retorno.Enderecos.Count > 0)
                    {
                        gridResultEnderecos.DataSource = retorno.Enderecos;
                        gridResultEnderecos.DataBind();
                    }
                    else
                    {
                        gridResultEnderecos.DataSource    = null;
                        gridResultEnderecos.EmptyDataText = "NÃO HÁ INFORMAÇÕES SOBRE ENDEREÇO.";
                        gridResultEnderecos.DataBind();
                    }


                    if (retorno.Telefones != null || retorno.Telefones.Count > 0)
                    {
                        gridResultTelefones.DataSource = retorno.Telefones;
                        gridResultTelefones.DataBind();
                    }
                    else
                    {
                        gridResultTelefones.DataSource    = null;
                        gridResultTelefones.EmptyDataText = "NÃO HÁ INFORMAÇÕES SOBRE TELEFONE.";
                        gridResultTelefones.DataBind();
                    }


                    if (retorno.CNAE != null || retorno.CNAE.Count > 0)
                    {
                        gridResultCNAEs.DataSource = retorno.CNAE;
                        gridResultCNAEs.DataBind();
                    }
                    else
                    {
                        gridResultCNAEs.DataSource    = null;
                        gridResultCNAEs.EmptyDataText = "NÃO HÁ INFORMAÇÕES SOBRE CNAE.";
                        gridResultCNAEs.DataBind();
                    }

                    if (retorno.QSA != null && retorno.QSA.Count > 0)
                    {
                        gridResultQSA.DataSource = retorno.QSA;
                        gridResultQSA.DataBind();

                        Util.Format.OcultaColunaEspecificaGrid(ref gridResultQSA, 5);
                        Util.Format.OcultaColunaEspecificaGrid(ref gridResultQSA, 6);
                        Util.Format.OcultaColunaEspecificaGrid(ref gridResultQSA, 7);
                        Util.Format.OcultaColunaEspecificaGrid(ref gridResultQSA, 8);
                        Util.Format.OcultaColunaEspecificaGrid(ref gridResultQSA, 9);
                        Util.Format.OcultaColunaEspecificaGrid(ref gridResultQSA, 10);
                    }
                    else
                    {
                        gridResultQSA.DataSource    = null;
                        gridResultQSA.EmptyDataText = "NENHUM REGISTRO ENCONTRADO.";
                        gridResultQSA.DataBind();
                    }

                    //Transformando o Retorno em XML para gravar no banco
                    var xns = new XmlSerializerNamespaces();
                    xns.Add(string.Empty, string.Empty);
                    var xs  = new XmlSerializer(retorno.GetType());
                    var xml = new StringWriter();
                    xs.Serialize(xml, retorno, xns);

                    HTMLRetornado = xml.ToString();

                    string NomeInternoProduto        = "WEB RASTREAMENTO PJ PRATA";
                    Entidades.HistoricoPesquisa hist = SalvarHistoricoPesquisa("S", codigoItemProduto, "", numeroCNPJ, "CNPJ");
                    SalvarHistoricoFornecedor("S", hist.IdHistoricoConsulta, xml.ToString(), NomeInternoProduto, "DNA");

                    lblDataConsulta.Text   = DataBR.ToString("dd/MM/yyyy") + " às " + DataBR.ToString("HH:mm");
                    lblNumeroConsulta.Text = hist.IdHistoricoConsulta.ToString().PadLeft(5, '0');
                }
                else
                {
                    lblMensagemRetorno.Visible = true;
                    lblMensagemRetorno.Text    = "";

                    lblMensagemRetorno.Text = "CNPJ NÃO LOCALIZADO.<br/><br/>";

                    string mensagemExibir = "<span id='lblTexto30DiasTexto1' class='texto' style='display:inline-block;font-weight:normal'>";
                    mensagemExibir += ddlFiltro.Value.Trim().ToUpper() + ": <b>" + txtParametroInformado.Text + "</b>";
                    mensagemExibir += "&nbsp;</span><br/><br/>";

                    lblMensagemRetorno.Text += mensagemExibir;
                    divImprimirMensagemErro.Attributes.Add("style", "display:block;");

                    divEspacoBranco.Visible = true;
                    divResultado.Visible    = false;
                    LimparCampos();

                    string NomeInternoProduto        = "WEB RASTREAMENTO PJ PRATA";
                    Entidades.HistoricoPesquisa hist = SalvarHistoricoPesquisa("N", codigoItemProduto, "", numeroCNPJ, "CNPJ");
                    SalvarHistoricoFornecedor("N", hist.IdHistoricoConsulta, "CNPJ NÃO LOCALIZADO.", NomeInternoProduto, "DNA");

                    lblDataConsulta.Text   = DataBR.ToString("dd/MM/yyyy") + " às " + DataBR.ToString("HH:mm");
                    lblNumeroConsulta.Text = hist.IdHistoricoConsulta.ToString().PadLeft(5, '0');

                    //Page.ClientScript.RegisterStartupScript(this.GetType(), "Mensagem", "<script>alert('Veículo não encontrado.')</script>", false);
                }
            }
            catch (Exception ex)
            {
                Util.Log.Save("ex:" + ex.Message, "Consultar", "ConsultaWebRastreamentoPJPrata", HttpContext.Current.Server.MapPath(diretorioLog));
                throw ex;
            }
        }