static void Main(string[] args) { var bradesco = new Bradesco(Configuration["urlHomologacao"], Configuration["certificadoArquivo"], Configuration["certificadoSenha"]); bradesco.Enviar(new Boleto { CPFCNPJBeneficiario = "?", AgenciaBeneficiario = "?", ContaBeneficiario = "?", SequenciaContrato = 123, NumeroTitulo = 12324473, EmissaoTitulo = new DateTime(2020, 03, 18), VencimentoTitulo = new DateTime(2020, 03, 21), ValorNominal = 32352m, ValorJuros = 43.13m, CPFCNPJPagador = "12345678901", NomePagador = "Bilbo Baggins", UFPagador = "SC", MunicipioPagador = "The Shire", BairroPagador = "The Shire", LogradouroPagador = "Rua dos Bobos", NumeroLogradouroPagador = "0", CepPagador = "55555333" }); }
public static void Execute() { // Pagador IName nameToPayer = new NamePF("Nome", "Sobrenome"); Address addressToPayer = new Address("Logradouro", "Número", "Bairro", "Cidade", "UF", "00.000-000", "Complemento se houver"); IDocument documentToPayer = new DocumentPF("221.040.998-54"); IPerson payer = new Person(nameToPayer, addressToPayer, documentToPayer, "*****@*****.**"); // Recebedor IName nameToReceiver = new NamePJ("Razão social"); Address addressToReceiver = new Address("Logradouro", "Número", "Bairro", "Cidade", "UF", "00.000-000", "Complemento se houver"); IDocument documentToReceiver = new DocumentPJ("27.993.190/0001-41"); IPerson receiver = new Person(nameToReceiver, addressToReceiver, documentToReceiver, "*****@*****.**"); // Pagamento IAccountDataForBank accountData = new AccountDataForBank(0123, 45678, 9); // Agencia, conta e dígito respectivamente IPaymentData paymentData = new PaymentData("Plano de saúde", 10000, DateTime.Now, DateTime.Now); // Descrição do pagamento, valor, data de emissão e data de vencimento respectivamente. Bradesco bradesco = new Bradesco(payer, receiver, accountData, paymentData) .AddCertificate(@"C:\Users\Paulo\Documents\Projetos\ecnpj.pfx", "16062007") .SetEndpoint(EEnvironment.Development) .Prepare("09", "2", "3"); // Tipo de operação, string espécie título e IOF respectivamente string resultFromBradesco = bradesco.Execute(); Console.WriteLine(bradesco.GetJsonData()); File.WriteAllTextAsync(@"C:\Users\Paulo\Documents\Projetos\DadosParaOBradesco.json", bradesco.GetJsonData()); File.WriteAllTextAsync(@"C:\Users\Paulo\Documents\Projetos\RetornoBradesco.xml", resultFromBradesco); }
public static Boleto Gerar(int codBanco, Cedente cedente, string nossoNumero, DateTime dtVencto, decimal vrBoleto) { Boleto b = null; switch (codBanco) { case 1: b = new BancoBrasil(); break; case 104: b = new Caixa(); break; case 41: b = new Banrisul(); break; case 237: b = new Bradesco(); break; case 341: b = new Itau(); break; case 33: b = new Santander(); break; case 399: b = new HSBC(); break; default: throw new NotImplementedException("Código de banco não implementado"); } b.ValidaDados(cedente, nossoNumero); b.NossoNumero = b.FormataNossoNumero(nossoNumero, cedente, dtVencto); b.AgCodCedente = b.FormataAgCodCedente(cedente); var barras = b.GerarCodigoBarras(cedente, nossoNumero, dtVencto, vrBoleto); var linhadig = b.GerarLinhaDigitavel(barras); b.CodigoBarras = barras.ToString(); b.LinhaDigitavel = linhadig.ToString(); b.Cedente = cedente.Nome + " (CNPJ: " + Helper.FormatCpfCnpj(cedente.CNPJ) + ")"; b.Carteira = cedente.Carteira; b.NumeroDocumento = nossoNumero; b.DataProcessamento = DateTime.Now.ToString(DATE_FORMAT); b.DataDocumento = DateTime.Now.ToString(DATE_FORMAT); b.LocalPagamento = "QUALQUER AGÊNCIA BANCÁRIA ATÉ A DATA DO VENCIMENTO"; b.DataVencimento = dtVencto.ToString(DATE_FORMAT); b.ValorDocumento = vrBoleto.ToString(MONEY_FORMAT); b.Instrucoes = "ATENÇÃO SENHOR CAIXA: NÃO RECEBER APÓS VENCIMENTO"; #if !DEBUG // Quando release, gera o Base64 do logotipo e codigo de barras b.Logotipo = Helper.Logotipo(b.Banco.Substring(0, 3)); b.CodigoBarras = Helper.CodigoBarras(b.CodigoBarras); #endif return(b); }
private static void LogIn(IWebDriver driver, List <Conta> contas) { driver.Url = "https://banco.bradesco/html/classic/index.shtm"; UI.WaitPageLoad(driver); // ------------------------------------------------------------------------------------------------------------------------------ // Tela: Home // ------------------------------------------------------------------------------------------------------------------------------ var conta = contas[0]; // Utiliza a primeira, pois trata-se da mesma conta, com poupança e corrente na lista var s_agencia = conta.agencia.Replace(".", "").Split(Convert.ToChar("-"))[0]; var arr_conta = conta.conta.Replace(".", "").Split(Convert.ToChar("-")); var s_conta = arr_conta[0]; var s_digito = arr_conta[1]; UI.WaitForDisplayed(driver, By.Id("AGN")); UI.SetTextBoxValue(driver, By.Id("AGN"), s_agencia); UI.SetTextBoxValue(driver, By.Id("CTA"), s_conta); UI.SetTextBoxValue(driver, By.Id("DIGCTA"), s_digito); UI.Click(driver, By.ClassName("btn-ok")); UI.Wait(1); // Tela: Aparece às vezes, "Acesso não autorizado. Já existe um acesso em andamento para esta conta." if (UI.IsDisplayed(driver, By.Id("modalLogin"))) { UI.Click(driver, By.Id("cancelarAcessoModalForm:_id178")); UI.WaitPageLoad(driver); Bradesco.LogIn(driver, contas); } // ------------------------------------------------------------------------------------------------------------------------------ // Tela: Senha e Token // ------------------------------------------------------------------------------------------------------------------------------ // Neste ponto aguarda digitar o Token UI.WaitForClickable(driver, By.Id("ul_teclado_virtual"), 300); // 5 minutos para digitar o token var teclado = UI.WaitForDisplayed(driver, By.Id("ul_teclado_virtual")); foreach (char c in conta.senha) { UI.Click(driver, teclado.FindElement(By.LinkText(c.ToString()))); } UI.Wait(2); UI.Click(driver, By.XPath("//*[@id=\"loginbotoes:botaoAvancar\"]")); UI.WaitPageLoad(driver); UI.Wait(3); }
/// <summary> /// Get the right instance of a Health Card Reader Classe /// </summary> /// <param name="ocrJsonData">JSON data from the OCR proccess</param> /// <param name="acceptedHealthCareProviders">Accepted Health Care Providers</param> /// <returns>"HealthCardReader" object instance</returns> public HealthCardReader GetHealthCardInstance(string ocrJsonData, List <string> acceptedHealthCareProviders) { //Validations if (string.IsNullOrWhiteSpace(ocrJsonData)) { return(null); //Can not proceed with empty OCR result } if (acceptedHealthCareProviders.Count <= 0) { return(null); //Whether there is no accepted health care providers, no reason to proceed also. } var readerInstance = default(HealthCardReader); var foundHealthCareProvider = string.Empty; for (int i = 0; i < acceptedHealthCareProviders.Count; i++) { if (string.IsNullOrWhiteSpace(acceptedHealthCareProviders[i])) { continue; //arrHealthProviders can not have a null position. Goes to next item. } if (ocrJsonData.ToLowerInvariant().Contains(acceptedHealthCareProviders[i])) { foundHealthCareProvider = acceptedHealthCareProviders[i]; //Health care provider found! } } switch (foundHealthCareProvider.ToLowerInvariant()) { case "bradesco": readerInstance = new Bradesco(ocrJsonData); break; case "sulamerica": case "sulamérica": case "sul américa": case "sul america": readerInstance = new SulAmerica(ocrJsonData); break; default: return(null); } return(readerInstance); }
public static List <Extrato> Sync(List <Conta> contas) { var extratos = new List <Extrato>(); IWebDriver driver = null; var cultureBR = new CultureInfo("pt-BR"); return(extratos); try { contas = (from a in contas where a.classe.ToUpper() == "BRADESCO" select a).ToList(); if (contas.Count == 0) { return(extratos); // lista vazia } UI.StartChrome(ref driver, 3); Bradesco.LogIn(driver, contas); // Conta corrente var cc_ultimos = Bradesco.ReadExtrato(driver, contas, cultureBR, TipoConta.Conta_Corrente, TipoLink.Ultimos_Lancamentos); var cc_range = Bradesco.ReadExtrato(driver, contas, cultureBR, TipoConta.Conta_Corrente, TipoLink.Por_Periodo); // Poupança var poup_ultimos = Bradesco.ReadExtrato(driver, contas, cultureBR, TipoConta.Poupanca, TipoLink.Ultimos_Lancamentos); var poup_range = Bradesco.ReadExtrato(driver, contas, cultureBR, TipoConta.Poupanca, TipoLink.Por_Periodo); Bradesco.LogOff(driver); if (cc_ultimos.Count > 0 && cc_range.Count > 0) { cc_ultimos[cc_ultimos.Count - 1].saldo = cc_range[cc_range.Count - 1].saldo; } if (poup_ultimos.Count > 0 && poup_range.Count > 0) { poup_ultimos[poup_ultimos.Count - 1].saldo = poup_range[poup_range.Count - 1].saldo; } extratos.AddRange(cc_ultimos); extratos.AddRange(cc_range); extratos.AddRange(poup_ultimos); extratos.AddRange(poup_range); } catch (Exception ex) { UI.SaveHtmlAndPrint(driver, "Bradesco", ex); throw ex; } finally { if (driver != null) { try { driver.Close(); } catch { } driver.Quit(); driver.Dispose(); driver = null; } } // Retorna os registros return(extratos); }