private void Initialize(StreamReader file) { try { string códigoDoBanco = ""; var registro = file.ReadLine(); switch (registro.Length) { case 240: TipoArquivo = TipoArquivo.CNAB240; códigoDoBanco = registro.Substring(0, 3); break; case 400: TipoArquivo = TipoArquivo.CNAB400; códigoDoBanco = registro.Substring(76, 3); break; case 500: TipoArquivo = TipoArquivo.POS500; códigoDoBanco = "237"; break; default: throw new Exception("Layout nao implementado."); } switch (códigoDoBanco) { case "033": Banco = new BancoSantander(); break; case "237": Banco = new BancoBradesco(); break; case "001": case "041": case "104": case "341": case "756": default: throw new Exception("Banco não suportado."); } } catch (Exception e) { throw new Exception("Erro ao identificar o banco.", e); } }
public void CalcularLinhaDigitavelCarteira102Santander() { var bancoParaNossoNumero = new BancoSantander(); var nossoNumero = "705638"; var digito1 = bancoParaNossoNumero.Mod11SantanderObsolet(nossoNumero); var digito2 = bancoParaNossoNumero.Mod11Santander(nossoNumero); /* * Teste baseado em um boleto apresentado na documentação oficial do Banco Santander */ var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("033", "7"); var contaBancariaCedente = new ContaBancaria("4165", "", "", ""); var cedente = new Cedente("6545424", "1", 0, "99.999.999/9999-99", "Razao Social X", contaBancariaCedente, null); var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco() { TipoLogradouro = "R", Logradouro = "1", Bairro = "Bairro X", Cidade = "Cidade X", SiglaUf = "XX", Cep = "12345-000", Complemento = "Comp X", Numero = "9" }); var carteira = new CarteiraCobranca { Codigo = "102" }; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "0000006152007", ValorBoleto = Convert.ToDecimal(252.00), IdentificadorInternoBoleto = "000000615200", DataVencimento = new DateTime(2014, 07, 07) }; banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); banco.FormataLinhaDigitavel(boleto); const string valorEsperado = "03399.65451 42400.000065 15200.701025 1 61170000025200"; Assert.AreEqual(valorEsperado.Length, boleto.LinhaDigitavelBoleto.Length); Assert.AreEqual(valorEsperado, boleto.LinhaDigitavelBoleto); }
private void Initialize(Pagamento pagamento) { try { string bankCode; bankCode = pagamento.Pagador.ContaFinanceira.Banco; switch (bankCode) { case "033": TipoArquivo = TipoArquivo.CNAB240; Banco = new BancoSantander(); break; case "237": TipoArquivo = TipoArquivo.POS500; Banco = new BancoBradesco(); break; case "001": case "041": case "104": case "341": case "756": default: throw new Exception("Banco não suportado."); } } catch (Exception e) { throw new Exception("Erro ao identificar o banco.", e); } try { NumeroArquivoRemessa = pagamento.NúmeroRemessa; } catch (Exception e) { throw new Exception("Erro ao identificar o número do arquivo de remessa.", e); } }
public RetornoGenerico ProcessarArquivo(List <string> fileLines) { var fileSantander = new BancoSantander(); return(fileSantander.LerArquivoRetornoLiquidacao(fileLines)); }