public RoboSintegra MontaRoboView(ROBO robo) { RoboSintegra roboSintegra = new RoboSintegra(); roboSintegra.Data = new DataSintegra(); if (robo != null) { roboSintegra.Code = robo.SINT_CODE_ROBO; roboSintegra.HTML = robo.SINT_CERTIFICADO_HTML; roboSintegra.DataConsulta = robo.SINT_CONSULTA_DTHR; roboSintegra.Data.InscricaoEstadual = robo.SINT_IE_COD; roboSintegra.Data.MultiplasIE = robo.SINT_IE_MULTIPLA == "Sim" ? true : false; roboSintegra.Data.SituacaoCadastral = robo.SINT_IE_SITU_CADASTRAL; roboSintegra.Data.DataSituacaoCadastral = robo.SINT_IE_SITU_CADSTRAL_DT; roboSintegra.Data.DataInclusao = robo.SINT_INCLUSAO_DT.HasValue ? robo.SINT_INCLUSAO_DT.Value.ToString("dd/MM/yyyy") : null; roboSintegra.Data.Telefone = robo.SINT_TEL; roboSintegra.Data.AtividadeEconomicaPrincipal = robo.SINT_ATIVIDADE_PRINCIPAL; roboSintegra.Data.Bairro = robo.SINT_BAIRRO; roboSintegra.Data.CEP = robo.SINT_CEP; roboSintegra.Data.CNPJ = robo.CNPJ; roboSintegra.Data.Complemento = robo.SINT_COMPLEMENTO; roboSintegra.Data.EnquadramentoFiscal = robo.SINT_ENQUADRAMENTO_FISCAL; roboSintegra.Data.Logradouro = robo.SINT_LOGRADOURO; roboSintegra.Data.Numero = robo.SINT_NUMERO; roboSintegra.Data.Municipio = robo.SINT_MUNICIPIO; roboSintegra.Data.UF = robo.SINT_UF; roboSintegra.Data.RazaoSocial = robo.SINT_RAZAO_SOCIAL; return(roboSintegra); } return(null); }
public void MontaCssMessagem(RoboSintegra roboSintegra) { if (roboSintegra.Code == 1) { roboSintegra.cssCor = (roboSintegra.Data.SituacaoCadastral.ToUpper() == "HABILITADO ATIVO" || roboSintegra.Data.SituacaoCadastral.ToUpper() == "HABILITADO" ? "success" : "warning"); roboSintegra.Data.Message = roboSintegra.Code + " - Consulta Realizada com sucesso. (Situação Cadastral: " + roboSintegra.Data.SituacaoCadastral + ") <i class='fa fa-arrow-circle-down'></i>"; } else if (roboSintegra.Code == 2) { roboSintegra.cssCor = "success"; roboSintegra.Data.Message = roboSintegra.Code + " - ISENTO"; } else { roboSintegra.cssCor = "danger"; roboSintegra.Data.Message = roboSintegra.Code + " - " + roboSintegra.Data.Message; } }
public RoboSintegra CarregaSintegra(string estado, string cnpj, string path) { RoboSintegra robo = new RoboSintegra(); try { if (!string.IsNullOrEmpty(estado) && !string.IsNullOrEmpty(cnpj)) { var ativarConsultasFake = Convert.ToBoolean(ConfigurationManager.AppSettings["AtivarConsultasFake"]); string textResult = string.Empty; if (ativarConsultasFake) { textResult = Sintegra_fake(path); } else { string token = ConfigurationManager.AppSettings["SintegraToken"]; string cont = "7"; string url = String.Format(@"http://webservice.keyconsultas.net/sintegra_{0}/cnpj/?cnpj={1}&token={2}&cont={3}", estado, cnpj, token, cont); var request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = request.GetResponse() as HttpWebResponse; Stream stream = response.GetResponseStream(); StreamReader reader = new StreamReader(stream); textResult = reader.ReadToEnd(); } robo = JsonConvert.DeserializeObject <RoboSintegra>(textResult); } return(robo); } catch { robo.Code = 0; robo.Data = new DataSintegra(); robo.Data.Message = "Não foi possível acessar o serviço de consulta dos Orgãos Públicos! Tente novamente."; return(robo); } }
static void ChamaRobo(int pjpfId) { try { WebForLinkContexto db = new WebForLinkContexto(); var pjpf = BuscarFonecedorBaseParaRobo(db, pjpfId); RoboReceitaCNPJ roboReceita = new RoboReceitaCNPJ(); RoboSintegra roboSintegra = new RoboSintegra(); RoboSimples roboSimples = new RoboSimples(); RoboReceitaCPF roboReceitaCpf = new RoboReceitaCPF(); if (pjpf.ROBO == null) { pjpf.ROBO = new ROBO(); } bool validaReceita = (pjpf.ROBO.ID == 0 || pjpf.ROBO.RF_CONSULTA_DTHR == null); bool validaSintegra = (pjpf.ROBO.ID == 0 || pjpf.ROBO.SINT_CONSULTA_DTHR == null); bool validaSimples = (pjpf.ROBO.ID == 0 || pjpf.ROBO.SN_CONSULTA_DTHR == null); if (pjpf.PJPF_TIPO == 1) { if (validaReceita && pjpf.CNPJ != null) { roboReceita = roboReceita.CarregaRoboCNPJ(pjpf.CNPJ, path); var robo = pjpf.ROBO; RoboReceitaCNPJ roboReceitaCnpj = new RoboReceitaCNPJ(); roboReceitaCnpj.GravaRoboReceita(roboReceita, ref robo); GravaLog(db, roboReceita.Code, roboReceita.Data.Message, EnumRobo.ReceitaFederal.ToString(), pjpf.CONTRATANTE_ID, pjpf.ID); } if (validaSintegra && pjpf.ROBO.RF_UF != null) { roboSintegra = roboSintegra.CarregaSintegra(pjpf.ROBO.RF_UF, pjpf.CNPJ, path); var robo = pjpf.ROBO; RoboSintegra roboSintegraObj = new RoboSintegra(); roboSintegraObj.GravaRoboSintegra(roboSintegra, ref robo); GravaLog(db, roboSintegra.Code, roboSintegra.Data.Message, EnumRobo.Sintegra.ToString(), pjpf.CONTRATANTE_ID, pjpf.ID); } if (validaSimples && pjpf.CNPJ != null) { roboSimples = roboSimples.CarregaSimplesCNPJ(pjpf.CNPJ, path); var robo = pjpf.ROBO; RoboSimples roboSimplesObj = new RoboSimples(); roboSimplesObj.GravaRoboSimples(roboSimples, ref robo); GravaLog(db, roboSimples.Code, roboSimples.Data.Message, EnumRobo.SimplesNacional.ToString(), pjpf.CONTRATANTE_ID, pjpf.ID); } } // Pessoa Fisica if (pjpf.PJPF_TIPO == 3) { if (validaReceita && pjpf.CPF != null) { DateTime nasc = (DateTime)pjpf.DT_NASCIMENTO; roboReceitaCpf = roboReceitaCpf.CarregaRoboCPF(pjpf.CPF, nasc.ToString("dd/MM/yyyy"), path); var robo = pjpf.ROBO; RoboReceitaCPF roboCpfObj = new RoboReceitaCPF(); roboCpfObj.GravaRoboCpf(roboReceitaCpf, ref robo); GravaLog(db, roboReceitaCpf.Code, roboReceitaCpf.Data.Message, EnumRobo.ReceitaFederalPF.ToString(), pjpf.CONTRATANTE_ID, pjpf.ID); } } #region BLOQUEIO bool ReceitaIrregular = false, ReceitaInativa = false, SintegraNaoHabilitado = false; if (pjpf.PJPF_TIPO == 1) { ReceitaInativa = (!String.IsNullOrEmpty(roboReceita.Data.SituacaoCadastral) && roboReceita.Data.SituacaoCadastral.ToUpper() != "ATIVA"); SintegraNaoHabilitado = (!String.IsNullOrEmpty(roboSintegra.Data.SituacaoCadastral) && roboSintegra.Data.SituacaoCadastral == "HABILITADO ATIVO" && roboSintegra.Data.SituacaoCadastral == "HABILITADO"); } else { ReceitaIrregular = (!String.IsNullOrEmpty(roboReceitaCpf.Data.SituacaoCadastral) && roboReceitaCpf.Data.SituacaoCadastral.ToUpper() != "REGULAR"); } SOLICITACAO solicitacao = new SOLICITACAO(); SOLICITACAO_BLOQUEIO bloq = new SOLICITACAO_BLOQUEIO(); if (ReceitaInativa || SintegraNaoHabilitado || ReceitaIrregular) { var BloqManual = db.WFD_CONTRATANTE_CONFIG.FirstOrDefault(x => x.CONTRATANTE_ID == pjpf.CONTRATANTE_ID).BLOQUEIO_MANUAL; if (!BloqManual) { GeraBloqueioAutomatico(db, pjpf, solicitacao, bloq); } } #endregion if (pjpf.ROBO.RF_CONSULTA_DTHR != null && pjpf.ROBO.SINT_CONSULTA_DTHR != null && pjpf.ROBO.SN_CONSULTA_DTHR != null) { pjpf.ROBO_EXECUTADO = true; } if (pjpf.ROBO.RF_CONTADOR_TENTATIVA >= 3 && pjpf.ROBO.SINT_CONTADOR_TENTATIVA >= 3 && pjpf.ROBO.SN_CONTADOR_TENTATIVA >= 3) { pjpf.ROBO_TENTATIVAS_EXCEDIDAS = true; } ContratanteId = pjpf.CONTRATANTE_ID; DataSolicitacao = (DateTime)pjpf.DT_SOLICITACAO_ROBO; atualizaPJPFBase(db, pjpf); db.Entry(pjpf).State = EntityState.Modified; db.SaveChanges(); //ATUALIZA TRAMITE SE HOUVER CRIAÇÃO DE BLOQUEIO if (ReceitaInativa || SintegraNaoHabilitado) { int papel = db.WFL_PAPEL.FirstOrDefault(x => x.CONTRATANTE_ID == pjpf.CONTRATANTE_ID && x.PAPEL_TP_ID == 10).ID; _tramite.AtualizarTramite(pjpf.CONTRATANTE_ID, solicitacao.ID, solicitacao.FLUXO_ID, papel, 2, null); } } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { } } } catch (Exception ex) { Log.Error(string.Format("Error ao percorrer a lista 'lstFornecedorRobo' exception: {0}", ex)); } }
static void ChamaRobo(int solicitacaoId) { try { WebForLinkContexto db = new WebForLinkContexto(); var solicitacao = BuscarsolicitacaoParaRobo(db, solicitacaoId); RoboReceitaCNPJ roboReceita = new RoboReceitaCNPJ(); RoboSintegra roboSintegra = new RoboSintegra(); RoboSimples roboSimples = new RoboSimples(); RoboReceitaCPF roboReceitaCpf = new RoboReceitaCPF(); var robo = solicitacao.ROBO.FirstOrDefault(); var solForn = solicitacao.SolicitacaoCadastroFornecedor.FirstOrDefault(); bool validaReceita = (robo.ID == 0 || robo.RF_CONSULTA_DTHR == null); bool validaSintegra = (robo.ID == 0 || robo.SINT_CONSULTA_DTHR == null); bool validaSimples = (robo.ID == 0 || robo.SN_CONSULTA_DTHR == null); if (solForn.PJPF_TIPO == 1) { if (validaReceita && solForn.CNPJ != null) { roboReceita = roboReceita.CarregaRoboCNPJ(solForn.CNPJ, path); RoboReceitaCNPJ roboReceitaCnpj = new RoboReceitaCNPJ(); roboReceitaCnpj.GravaRoboReceita(roboReceita, ref robo); GravaLog(db, roboReceita.Code, roboReceita.Data.Message, EnumRobo.ReceitaFederal.ToString(), solicitacao.CONTRATANTE_ID, solicitacao.PJPF_ID, solicitacao.ID); } if (validaSintegra && robo.RF_UF != null) { roboSintegra = roboSintegra.CarregaSintegra(robo.RF_UF, solForn.CNPJ, path); RoboSintegra roboSintegraObj = new RoboSintegra(); roboSintegraObj.GravaRoboSintegra(roboSintegra, ref robo); GravaLog(db, roboSintegra.Code, roboSintegra.Data.Message, EnumRobo.Sintegra.ToString(), solicitacao.CONTRATANTE_ID, solicitacao.PJPF_ID, solicitacao.ID); } if (validaSimples && solForn.CNPJ != null) { roboSimples = roboSimples.CarregaSimplesCNPJ(solForn.CNPJ, path); RoboSimples roboSimplesObj = new RoboSimples(); roboSimplesObj.GravaRoboSimples(roboSimples, ref robo); GravaLog(db, roboSimples.Code, roboSimples.Data.Message, EnumRobo.SimplesNacional.ToString(), solicitacao.CONTRATANTE_ID, solicitacao.PJPF_ID, solicitacao.ID); } } // Pessoa Fisica if (solForn.PJPF_TIPO == 3) { if (validaReceita && solForn.CPF != null) { roboReceitaCpf = roboReceitaCpf.CarregaRoboCPF(solForn.CPF, solForn.DT_NASCIMENTO.ToString(), path); RoboReceitaCPF roboCpfObj = new RoboReceitaCPF(); roboCpfObj.GravaRoboCpf(roboReceitaCpf, ref robo); GravaLog(db, roboReceitaCpf.Code, roboReceitaCpf.Data.Message, EnumRobo.ReceitaFederalPF.ToString(), solicitacao.CONTRATANTE_ID, solicitacao.PJPF_ID, solicitacao.ID); } } if (robo.RF_CONSULTA_DTHR != null && robo.SINT_CONSULTA_DTHR != null && robo.SN_CONSULTA_DTHR != null) { solicitacao.ROBO_EXECUTADO = true; } if (robo.RF_CONTADOR_TENTATIVA >= 3 && robo.SINT_CONTADOR_TENTATIVA >= 3 && robo.SN_CONTADOR_TENTATIVA >= 3) { solicitacao.ROBO_TENTATIVAS_EXCEDIDAS = true; } ContratanteId = solicitacao.CONTRATANTE_ID; DataSolicitacao = (DateTime)solicitacao.SOLICITACAO_DT_CRIA; db.Entry(solicitacao).State = EntityState.Modified; db.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { } } } catch (Exception ex) { Log.Error(string.Format("Error ao percorrer a lista 'lstFornecedorRobo' exception: {0}", ex)); } }
private void MontaRobo(RoboSintegra roboSintegra, ROBO robo) { if (roboSintegra != null) { if (roboSintegra.Code == 1) { #region Parse dos Dados do Robô string asAsciiSintegra = string.Empty; if (!string.IsNullOrEmpty(roboSintegra.HTML)) { asAsciiSintegra = _metodosGerais.EncodeCodigoHtml(roboSintegra.HTML); } DateTime dataInclusao; DateTime.TryParse(roboSintegra.Data.DataInclusao, out dataInclusao); #endregion robo.SINT_CODE_ROBO = roboSintegra.Code; robo.SINT_CERTIFICADO_HTML = asAsciiSintegra.Replace("imagens/sintegra.gif", "http://www.fazenda.rj.gov.br/projetoCPS/imagens/sintegra.gif"); robo.SINT_CONSULTA_DTHR = DateTime.Now; robo.SINT_CONTADOR_TENTATIVA = 0; robo.SINT_IE_COD = roboSintegra.Data.InscricaoEstadual; robo.SINT_IE_MULTIPLA = (roboSintegra.Data.MultiplasIE.HasValue && !roboSintegra.Data.MultiplasIE.Value) ? "Não" : "Sim"; robo.SINT_IE_SITU_CADASTRAL = roboSintegra.Data.SituacaoCadastral; robo.SINT_IE_SITU_CADSTRAL_DT = roboSintegra.Data.DataSituacaoCadastral; robo.SINT_INCLUSAO_DT = dataInclusao; robo.SINT_TEL = roboSintegra.Data.Telefone; robo.SINT_ATIVIDADE_PRINCIPAL = roboSintegra.Data.AtividadeEconomicaPrincipal; robo.SINT_BAIRRO = roboSintegra.Data.Bairro; robo.SINT_CEP = roboSintegra.Data.CEP; robo.SINT_CNPJ = roboSintegra.Data.CNPJ; robo.SINT_COMPLEMENTO = roboSintegra.Data.Complemento; robo.SINT_ENQUADRAMENTO_FISCAL = roboSintegra.Data.EnquadramentoFiscal; robo.SINT_LOGRADOURO = roboSintegra.Data.Logradouro; robo.SINT_MUNICIPIO = roboSintegra.Data.Municipio; robo.SINT_NUMERO = roboSintegra.Data.Numero; robo.SINT_RAZAO_SOCIAL = roboSintegra.Data.RazaoSocial; robo.SINT_UF = roboSintegra.Data.UF; robo.SINT_TEL = roboSintegra.Data.Telefone; } else { int?contador = robo.SINT_CONTADOR_TENTATIVA; if (!contador.HasValue) { contador = 0; } if (roboSintegra.Code == 2 || roboSintegra.Code == 3) { robo.SINT_CODE_ROBO = roboSintegra.Code; robo.SINT_IE_SITU_CADASTRAL = roboSintegra.Data.Message; robo.SINT_CONSULTA_DTHR = DateTime.Now; robo.SINT_CONTADOR_TENTATIVA = 0; } else { contador += 1; robo.SINT_CONTADOR_TENTATIVA = contador; } } } }
public void GravaRoboSintegra(RoboSintegra roboSintegra, ref ROBO robo) { MontaRobo(roboSintegra, robo); }