//public void ValidarCotistasWebScraping(string Usuario, string Senha) //{ // List<long> CotistasAux = new BL_Cotista().DadosCompleto().Select(x => x.CODCOT).ToList(); // List<BL_Distribuidor> Distribuidores = new BL_Distribuidor().Dados().Where(x => x.POSSUICEO == "Sim").ToList(); // WebBrowser WebCaixa = new WebBrowser(); // WebCaixa.Navigate("https://www.itaucustodia.com.br/Passivo/"); // WebCaixa.ScriptErrorsSuppressed = true; // while (WebCaixa.ReadyState.ToString() != "Complete") { Application.DoEvents(); }//Aguarda a pagina carregar // var inputElements = WebCaixa.Document.GetElementsByTagName("input"); // var aElements = WebCaixa.Document.GetElementsByTagName("a"); // //Insere Login e Senha // foreach (HtmlElement i in inputElements) // { // if (i.GetAttribute("name").Equals("ebusiness")) { i.InnerText = Usuario; } // if (i.GetAttribute("name").Equals("senha")) { i.InnerText = Senha; } // } // //Clica no Login // foreach (HtmlElement a in aElements) { if (a.GetAttribute("href").Equals("javascript:fn_login();")) { a.InvokeMember("click"); } } // //Aguarda Pagina Carregar // while (WebCaixa.ReadyState != WebBrowserReadyState.Interactive) { Application.DoEvents(); } // //Navega até pagina do Check Upload // WebCaixa.Navigate("https://www.itaucustodia.com.br/Passivo/abreFiltroConsultaUploadCheck.do?pageExecutionId=7376071690435952"); // //Aguarda Pagina Carregar // while (WebCaixa.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } // //Seleciona Gestor na lista // var ElementosSelect = WebCaixa.Document.GetElementsByTagName("select"); // foreach (HtmlElement a3 in ElementosSelect) // { // if (a3.GetAttribute("Name").Equals("codigoGestor")) { a3.SetAttribute("Value", "991259"); } // if (a3.GetAttribute("Name").Equals("tipo")) { a3.SetAttribute("Value", "1"); } // } // //Clica em Continuar // var aElements2 = WebCaixa.Document.GetElementsByTagName("a"); // foreach (HtmlElement a2 in aElements2) { if (a2.GetAttribute("href").Equals("javascript:enviar();")) { a2.InvokeMember("click"); } } // //Aguarda Pagina Carregar // while (WebCaixa.ReadyState != WebBrowserReadyState.Interactive) { Application.DoEvents(); } // var E = WebCaixa.Document.GetElementsByTagName("td"); // //Cadastrar Cotistas não cadastrados na Base // for (int i = 0; i < E.Count; i++) // { // if (E[i].InnerText == "Cotista:") // { // long Codcot = Convert.ToInt64(E[i + 1].InnerText.Split('-')[0].Trim()); // string Nome = E[i + 1].InnerText.Split('-')[1].Trim().ToString(); // long Cpfcnpj = Convert.ToInt64(E[i + 3].InnerText.Trim()); // if (!CotistasAux.Contains(Codcot) && Distribuidores.Where(x => x.CNPJ == Cpfcnpj).Count() > 0) // { // long CODDIST = Distribuidores.FirstOrDefault(x => x.CNPJ == Cpfcnpj).CODIGO; // new BL_Cotista().Inserir(Codcot, Nome, Cpfcnpj, CODDIST, 0, DateTime.Today); // CotistasAux.Add(Codcot); // } // } // } //} public BL_Cotista ConsultarCotista(string Usuario, string Senha, string CODCOT) { //trocar para consulta via web service string[] Consulta = new string[0]; try { Consulta = new PosicaoGerencialServiceService().consultarCotistaXML(Usuario, Senha, "991259", CODCOT).Split(Convert.ToChar("\n")); } catch (Exception e) { new BL_LogOperacional().Inserir("BL_Cotista - AtualizarCotista", "Erro: " + e.Message); return(null); } BL_Cotista Cotista = new BL_Cotista(); foreach (string line in Consulta) { if (line.Contains("<idClienteReceita>")) { Cotista.CPFCNPJ = Convert.ToInt64(Extract(line, "idClienteReceita")); } if (line.Contains("<nomeCliente>")) { Cotista.NOME = Extract(line, "nomeCliente"); } } return(Cotista); }
//Métodos da Classe #region public string AtualizarDados(string usuario, string senha) { CreditosAplicacaoBean[] creditos; try { //new DAL.Intrag.PosicaoGerencialServiceService().consultarCotista("","","","") creditos = new PosicaoGerencialServiceService().consultarCreditosAplicacaoGestor(usuario, senha, "991259", ""); } catch (Exception e) { //retorno em formato html //testa se não há lançamentos Console.WriteLine(e.Message); if (e.Message.Contains("NAO HA LANCAMENTOS DE CREDITOS")) { Limpar(); return("Não há lançamentos de créditos!"); } else { //new BL_LogErro().Inserir("BL_RegistroAplica - AtualizarDados", "Erro " + e.Message); new BL_LogOperacional().Inserir("BL_RegistroAplica - AtualizarDados", "Erro " + e.Message); AtualizaCaixaWebScraping(usuario, senha); return("Consulta realizada por Web Scraping!"); } } Limpar(); foreach (CreditosAplicacaoBean cred in creditos) { ObjDA.Inserir(Convert.ToInt64(cred.cpfCnpjCotista), cred.nomeCotista, Convert.ToDateTime(cred.horaCredito), Convert.ToDecimal(cred.valorCredito), Convert.ToInt64(cred.contaCaptacao.Substring(0, 5))); } return("Consulta realizada com sucesso!"); }
//Métodos Classe #region public void AtualizarDados(string Usuario, string Senha) { List <BL_BoletaIntrag> Boletas = new List <BL_BoletaIntrag>(); string[] linhas; try { linhas = new PosicaoGerencialServiceService().consultarMovimentosDiaXML(Usuario, Senha, "991259").Split(Convert.ToChar("\n")); } catch { linhas = new string[0]; } for (int i = 0; i < linhas.Length; i++) { if (linhas[i].Length > 13 && (linhas[i].Substring(0, 14) == "<codigoBanco/>" || linhas[i].Substring(0, 13) == "<codigoBanco>")) { BL_BoletaIntrag Boleta = new BL_BoletaIntrag { CODCOT = Convert.ToInt64(Extract(linhas[i + 1], "codigoCotista").Insert(4, "0000")), CODFUND = Convert.ToInt64(Extract(linhas[i + 2], "codigoFundo")), HORA = Convert.ToDateTime(Extract(linhas[i + 6], "horaOperacao")), OPERACAO = Extract(linhas[i + 9], "operacao"), //AP / CT / ST / TF STATUS = Extract(linhas[i + 11], "status"), TIPOCONTA = Extract(linhas[i + 12], "tipoContaCredito"), //C/C TIPOLIQUIDA = Extract(linhas[i + 13], "tipoOperacao"), //DISPONIVEL / CETIP / TEF / TED STR USUARIO = Extract(linhas[i + 15], "usuario"), SOLICITACAO = DateTime.Today, }; if (Boleta.OPERACAO != "AP") { try { Boleta.BANCO = Convert.ToInt64(Extract(linhas[i], "codigoBanco")); } catch { Boleta.BANCO = 0; } try { Boleta.CONTACORRENTE = Extract(linhas[i + 3], "contaCorrente"); } catch { Boleta.CONTACORRENTE = " "; } finally { if (Boleta.CONTACORRENTE == null) { Boleta.CONTACORRENTE = " "; } } try { Boleta.IMPACTO = Convert.ToDateTime(Extract(linhas[i + 5], "dataPagamento")); Console.WriteLine($"Data de impacto: {Boleta.IMPACTO}"); } catch { Boleta.IMPACTO = DateTime.Today; } //Erro de conversão para boletas de offshore ou máscara try { Boleta.QUANTIDADE = Convert.ToDecimal(Extract(linhas[i + 10], "quantidadeCotas"), new CultureInfo("pt-BR")); } catch { Boleta.QUANTIDADE = 0; } try { Boleta.TIPORESGATE = Extract(linhas[i + 14], "tipoResgate"); } catch { Boleta.TIPORESGATE = ""; } } else { Boleta.TIPORESGATE = ""; Boleta.IMPACTO = DateTime.Today; Boleta.CONTACORRENTE = ""; } try { Boleta.COTIZA = Convert.ToDateTime(Extract(linhas[i + 4], "dataConversao")); } catch { Boleta.COTIZA = DateTime.Today; } try { Boleta.FINANCEIRO = Convert.ToDecimal(Extract(linhas[i + 16], "valorOperacao")); } catch { } Boleta.FINANCEIRO = Convert.ToDecimal(Extract(linhas[i + 16], "valorOperacao"), new CultureInfo("pt-BR")); Boletas.Add(Boleta); } } if (Boletas.Count == 0) { return; } Limpar(); foreach (BL_BoletaIntrag Boleta in Boletas) { Inserir(Boleta); } }