public void Recarregar_Formulario_Consulta(int portal) { int timeout = 90; string macroRecarregaConsulta = CriaStringMacro("Formulario_de_Consulta"); if (portal != 0) { // 0 = BMG switch (portal) { case 1: //Itaú macroRecarregaConsulta = macroRecarregaConsulta.Replace("URL GOTO=https://ssoconsig.bancobmg.com.br/principal/fsconsignataria.jsp", "URL GOTO=https://www2.ibconsigweb.com.br"); break; case 2: //BCV macroRecarregaConsulta = macroRecarregaConsulta.Replace("URL GOTO=https://ssoconsig.bancobmg.com.br/principal/fsconsignataria.jsp", "URL GOTO=https://www.bcvconsig.com.br/"); break; case 3: //CIFRA macroRecarregaConsulta = macroRecarregaConsulta.Replace("URL GOTO=https://ssoconsig.bancobmg.com.br/principal/fsconsignataria.jsp", "URL GOTO=https://www.cifraconsig.com.br/"); break; } } iMacros.Status statusConsulta = iim.iimPlayCode(macroRecarregaConsulta, timeout); }
public string VerificaConsulta() { int timeout = 90; string VerificaRetornoConsulta = CriaStringMacro("VerificaConsulta"); iMacros.Status statusConsulta = iim.iimPlayCode(VerificaRetornoConsulta, timeout); VerificaRetornoConsulta = iim.iimGetExtract(0).Replace("#EANF#[EXTRACT]", ""); return(VerificaRetornoConsulta); }
public string Login(string usuario, string senha, int interpretadorCaptcha, int portal) { string macroLogin = ""; macroLogin = SelecionarPortalLogin(portal, interpretadorCaptcha); macroLogin = macroLogin.Replace("#TEMP_FOLDER#", Path.GetTempPath()); macroLogin = macroLogin.Replace("{{USUARIO}}", usuario); macroLogin = macroLogin.Replace("{{SENHA}}", senha); int timeout = 90; string retornoMacro = ""; string erro = ""; iMacros.Status estadoLogin = iim.iimPlayCode(macroLogin, timeout); retornoMacro = iim.iimGetExtract(0).Replace("#EANF#", "").Replace("[EXTRACT]", ""); if (retornoMacro == "") { macroLogin = ""; macroLogin = CriaStringMacro("Verifica logado"); iMacros.Status statusLogin = iim.iimPlayCode(macroLogin, timeout); retornoMacro = iim.iimGetExtract(0).Replace("#EANF#", "").Replace("[EXTRACT]", ""); erro = iim.iimGetErrorText().Replace("OK (1)", ""); } if (retornoMacro != "Correspondente:") { if (retornoMacro != "") { iim.iimClose(); throw new Exception("ERRO: " + retornoMacro); } else if (erro != "") { iim.iimClose(); //Mensagem de erro do imacros. throw new Exception("ERRO IMACROS: " + erro); } else { iim.iimClose(); throw new Exception("ERRO: O site não está respondendo, tente mais tarde!\n\nDetalhe: " + retornoMacro); } } logado = true; return(retornoMacro); }
public string Logout() { string pasta = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) + Path.DirectorySeparatorChar + "logout.iim"; pasta = pasta.Substring(6, pasta.Length - 6); StreamReader arquivo = new StreamReader(pasta); string macro = arquivo.ReadToEnd(); int timeout = 90; iMacros.Status status = iim.iimPlayCode(macro, timeout); SairImacros(); return(macro); }
public AcessoImacros(bool ocultaImacros) { iim = new iMacros.App(); int timeout = 90; if (ocultaImacros) { // RODAR MACROS COM IMACROS INVISIVEL iMacros.Status status = iim.iimInit("-silent", true, timeout); instanciaImacros++; } else { iMacros.Status status = iim.iimOpen("", true, timeout); instanciaImacros++; } }
public string LerCPF(string cpf, string convenio, out string mensagem, int interpretadorCaptcha, bool novaTentativa, int portal) { string Contratos = ""; mensagem = ""; string erroPreConsulta; if (convenio == "423") { if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "ERRO"); } throw new Exception("ERRO: Entidade não relacionada para a loja."); } string macroConsulta = ""; macroConsulta = Realizar_Consulta(cpf, convenio, interpretadorCaptcha, novaTentativa, portal); erroPreConsulta = erro_dinamico_consultas; macroConsulta = macroConsulta.Replace("AlertaSimNão", ""); macroConsulta = macroConsulta.Replace("#EANF##EANF#", ""); macroConsulta = macroConsulta.Replace("* Campo obrigatório", ""); if (macroConsulta == "") { int tempoLimiteConsulta = 0; while ((macroConsulta == "") && (tempoLimiteConsulta < 30)) { macroConsulta = VerificaConsulta(); macroConsulta = macroConsulta.Replace("AlertaSimNão", ""); macroConsulta = macroConsulta.Replace("#EANF##EANF#", ""); macroConsulta = macroConsulta.Replace("* Campo obrigatório", ""); macroConsulta = macroConsulta.Replace("[EXTRACT]", ""); macroConsulta = macroConsulta.Replace("#EANF#", ""); if (macroConsulta == " ") { macroConsulta = macroConsulta.Replace(" ", ""); } tempoLimiteConsulta++; } } if (macroConsulta.Contains("Palavra de verificação da imagem está incorreta, por favor tente novamente.")) // Primeiro possível erro, digitação incorreta do captcha { Recarregar_Formulario_Consulta(portal); //Caso o captcha da consulta atual esteja incorreto ele faz + 9 tentativas if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "ERRO"); } throw new CaptchaException(); } if (macroConsulta.Contains("Não foi localizado nenhum contrato com os dados fornecidos.") || macroConsulta.Contains("Não foi possível localizar código do cliente com o CPF. ") || macroConsulta.Contains("Não foi encontrado nenhum contrato")) { if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "OK"); } mensagem = "CONTRATO QUITADO"; return(""); } if ((macroConsulta.Contains("Já existe uma proposta em andamento para esse CPF"))) { if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "OK"); } mensagem = "CONTRATO REFINANCIADO"; return(""); } if ((erroPreConsulta.Replace("OK (1)", "") != "")) { if (erroPreConsulta.Contains("Não foi localizado nenhum contrato com os dados fornecidos.") || erroPreConsulta.Contains("Não foi possível localizar código do cliente com o CPF. ")) { if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "OK"); } mensagem = "CONTRATO QUITADO"; return(""); } if ((erroPreConsulta.Contains("Já existe uma proposta em andamento para esse CPF"))) { if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "OK"); } mensagem = "CONTRATO REFINANCIADO"; return(""); } else { if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "ERRO"); } throw new Exception("ERRO: " + erroPreConsulta); } } if (macroConsulta.Contains("Selecione o(s) contrato(s):")) // CONSULTA FEITA COM SUCESSO { string macroContratos = CriaStringMacro("Extrator_tabela_Consulta"); int timeoutExtrator = 90; iMacros.Status statusExtrator = iim.iimPlayCode(macroContratos, timeoutExtrator); Contratos = iim.iimGetExtract(1); string erroExtrator = iim.iimGetErrorText(); if (erroExtrator.Contains("Refinanciavel: Nao (2) - TEC")) { if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "OK"); } mensagem = "CONTRATO QUITADO"; return(""); } if (erroExtrator.Replace("OK (1)", "") != "") { if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "ERRO"); } throw new Exception("ERRO: " + erroExtrator.ToString()); // LINHA COM ERRO } if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "OK"); } return(Contratos); } if (macroConsulta != "" && macroConsulta != " " && !macroConsulta.Contains("Selecione o(s) contrato(s):")) { if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "ERRO"); } throw new Exception("ERRO: " + macroConsulta.ToString()); } if (macroConsulta == "") { if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "ERRO"); } Recarregar_Formulario_Consulta(portal); throw new Exception("ERRO INTERMITENTE DO PORTAL BMG. ERRO INTERNO DO SISTEMA"); } return(macroConsulta); }
public string Realizar_Consulta(string cpf, string convenio, int interpretador_Captcha, bool nova_tentativa, int portal) { string macroConsulta = CriaStringMacro("Formulario_de_Consulta"); if (portal != 0) { macroConsulta = macroConsulta.Replace("https://ssoconsig.bancobmg.com.br/principal/fsconsignataria.jsp", "https://www2.ibconsigweb.com.br"); } if (interpretador_Captcha == 0) { if (!nova_tentativa) { macroConsulta += CriaStringMacro("Captcha Boss Consulta"); } else { macroConsulta = ""; macroConsulta += CriaStringMacro("Nova Consulta CaptchaBoss"); } } else if (interpretador_Captcha == 1) { if (!nova_tentativa) { macroConsulta += CriaStringMacro("DeathByCaptcha Consulta"); } else { macroConsulta = ""; macroConsulta += CriaStringMacro("Nova Consulta DeathByCaptcha"); } } macroConsulta = macroConsulta.Replace("#TEMP_FOLDER#", Path.GetTempPath()); if (Convert.ToInt32(convenio) != 164) { // Quando o convênio não for SIAPE, ele não precisa aguardar 3 segundos para a troca do captcha, isso só ocorre no caso de SIAPE. macroConsulta = macroConsulta.Replace("#CPF#", cpf).Replace("#convenio#", convenio); } else { macroConsulta = macroConsulta.Replace("#CPF#", cpf).Replace("#convenio#", convenio); macroConsulta = macroConsulta.Replace(@"'--comentario", ""); } int timeoutConsulta = 90; if (this.QuandoOcorrerMensagem != null) { QuandoOcorrerMensagem(cpf, convenio, "CONSULTANDO..."); } string retornoPreConsulta; iMacros.Status statusConsulta = iim.iimPlayCode(macroConsulta, timeoutConsulta); erro_dinamico_consultas = iim.iimGetErrorText(); retornoPreConsulta = iim.iimGetExtract(0).Replace("#EANF#[EXTRACT]", "").Replace("AlertaSimNão", "").Trim(); return(retornoPreConsulta); }