public void TestGeracaoArquivoRemessa() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("104", "0"); var contaBancariaCedente = new ContaBancaria("007", "8", "1234", "0"); var cedente = new Cedente("999999", 0, "99.999.999/9999-99", "Razão 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 = "SR" }; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "19", ValorBoleto = (decimal)1000.51, IdentificadorInternoBoleto = "19", DataVencimento = new DateTime(2014, 06, 30), Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil) }; banco.FormatarBoleto(boleto); }
public void TesteCalculoNossoNumeroBoleto() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "1"); var banco = Fabricas.BancoFactory.ObterBanco("070", ""); var contaBancariaCedente = new ContaBancaria("201", "", "19316", "9"); var cedente = new Cedente("9999999", 0, "99.999.999/9999-99", "Razão 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(); carteira.Codigo = "1"; carteira.Tipo = "1"; var boleto = new Boleto(carteira, cedente, sacado, remessa); boleto.NumeroDocumento = "37018"; boleto.ValorBoleto = Convert.ToDecimal(1.00); boleto.IdentificadorInternoBoleto = "37018"; boleto.DataVencimento = new DateTime(2008, 06, 27); banco.FormataNossoNumero(boleto); Assert.AreEqual("103701807010", boleto.NossoNumeroFormatado); }
public void TestGerarHeaderArquivoRemessaBRBCnab400() { var dadosRemessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, ""); var banco = Fabricas.BancoFactory.ObterBanco("070"); var contaBancariaCedente = new ContaBancaria("201", "", "29088", "1"); var cedente = new Cedente("99999", 0, "99.999.999/9999-99", "Razão 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 = "1", Tipo = "1"}; var boleto = new Boleto(carteira, cedente, sacado, dadosRemessa) { NumeroDocumento = "279141", ValorBoleto = Convert.ToDecimal(222.75), IdentificadorInternoBoleto = "279141", DataVencimento = new DateTime(2015, 03, 16), Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.Diversos), CodigoOcorrenciaRemessa = new CodigoOcorrencia(01), BancoBoleto = banco, TipoCobrancaJuro = TipoCobrancaJuro.JurosDiario }; banco.FormatarBoleto(boleto); var remessa = new RemessaCnab400(); remessa.Header = new HeaderRemessaCnab400(boleto, 1, 1, DateTime.Now); var detalheIndividual = new DetalheRemessaCnab400(boleto, 1); remessa.RegistrosDetalhe = new List<DetalheRemessaCnab400> { detalheIndividual }; var escritor = new EscritorRemessaCnab400BRB(remessa); var linhasEscrever = escritor.EscreverTexto(remessa); var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); var data = String.Format("{0}_{1}", DateTime.Now.ToString("ddMMyyyy"), DateTime.Now.ToString("HHmmss")); var nomeArquivo = string.Format("{0}{1}{2}{3}", banco.CodigoBanco, @"_REMESSA_", data, ".txt"); var arquivo = new System.IO.StreamWriter(path + @"\" + nomeArquivo, true); foreach (var linha in linhasEscrever) { arquivo.WriteLine(linha); } arquivo.Close(); }
public Boleto(CarteiraCobranca carteiraCobranca, Cedente cedente, Sacado sacado, Remessa remessa) { Inicializa(); this.CarteiraCobranca = carteiraCobranca; this.CedenteBoleto = cedente; this.SacadoBoleto = sacado; this.Remessa = remessa; }
public void TestGerarDetalheArquivoRemessaSantanderCnab400() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("033", "7"); var contaBancariaCedente = new ContaBancaria("0020", "0", "13003695", "9"); var cedente = new Cedente("527654", "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 = "101" }; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "001N002", ValorBoleto = Convert.ToDecimal(80.55), JurosMora = Convert.ToDecimal(15), IdentificadorInternoBoleto = "000000000027", //SequencialNossoNumero = "566612457800", DataVencimento = new DateTime(2012, 11, 26), Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil), CodigoOcorrenciaRemessa = new CodigoOcorrencia(01), }; banco.FormatarBoleto(boleto); //const int numeroRegistro = 1; //var escritor = new EscritorRemessaCnab400Santander(); //var linhasEscrever = escritor.EscreverDetalhe(boleto, numeroRegistro); //var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //var data = DateTime.Now.ToString("d").Replace("/", ""); //var nomeArquivo = string.Format("{0}{1}{2}{3}{4}{5}{6}", banco.CodigoBanco, "-", banco.NomeBanco, "_", data, @"_DETALHE", ".txt"); //var arquivo = new System.IO.StreamWriter(path + @"\" + nomeArquivo, true); //arquivo.WriteLine(linhasEscrever); //arquivo.Close(); }
public void TestGerarHeaderArquivoRemessaBancoBrasilCnab400() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("001", "9"); var contaBancariaCedente = new ContaBancaria("2374", "4", "0165199", "4"); var cedente = new Cedente("9999999", "000123", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null); var sacado = new Sacado("Sacado Fulano de Tal", "999.999.999-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 = "16" }; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "1", ValorBoleto = Convert.ToDecimal(221.40), IdentificadorInternoBoleto = "1", DataVencimento = new DateTime(2014, 07, 10), Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil), TipoModalidade = "21" }; banco.FormatarBoleto(boleto); //const int numeroRemessa = 1; //const int numeroRegistro = 1; //var escritor = new EscritorRemessaCnab400BancoDoBrasil(); //var linhasEscrever = escritor.EscreverHeader(boleto, numeroRemessa, numeroRegistro); //var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //var data = DateTime.Now.ToString("ddMMyyyy"); //var nomeArquivo = string.Format("{0}{1}{2}{3}{4}{5}{6}", banco.CodigoBanco, "-", banco.NomeBanco, "_", data, @"_HEADER", ".txt"); //var arquivo = new System.IO.StreamWriter(path + @"\" + nomeArquivo, true); //arquivo.WriteLine(linhasEscrever); //arquivo.Close(); }
public void TesteCalculoCodigoBarrasCarteira198BoletoDocumentacaoItau() { /* * Teste baseado em um boleto apresentado na documentação oficial do Banco Itaú */ var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("341", "7"); var contaBancariaCedente = new ContaBancaria("4343", "", "29550", "9"); var cedente = new Cedente("12345", "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(); carteira.Codigo = "175"; var boleto = new Boleto(carteira, cedente, sacado, remessa); boleto.NumeroDocumento = "71194120"; boleto.ValorBoleto = Convert.ToDecimal(1419.04); boleto.IdentificadorInternoBoleto = "71194120"; boleto.DataVencimento = new DateTime(2014, 05, 01); banco.ValidaBoletoComNormasBanco(boleto); banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); const string valorEsperado = "34195605000000123451101234567880057123457000"; Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length); Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto); }
public void TesteCalculoCodigoBarrasCarteiraRgBoletoDocumentacaoCef() { /* * Teste baseado em um boleto apresentado na documentação oficial do Banco da Amazônia versão 1 * Manual de Cobrança Registrada Simples */ var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("104", "0"); var contaBancariaCedente = new ContaBancaria("007", "8", "", ""); var cedente = new Cedente("005507", "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(); carteira.Codigo = "RG"; var boleto = new Boleto(carteira, cedente, sacado, remessa); boleto.NumeroDocumento = "222333777777777"; boleto.ValorBoleto = Convert.ToDecimal(321.12); boleto.IdentificadorInternoBoleto = "222333777777777"; boleto.DataVencimento = new DateTime(2006, 08, 23); banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); const string valorEsperado = "10494324200000321120055077222133347777777771"; Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length); Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto); }
public void BSantanderCalculoLinhaDigitavel() { /* * 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); }
public void TesteLinhaDigitavelBoletoReal() { /* Teste baseado em um boleto real, ou seja, boleto válido. */ var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("399", "9"); var contaBancariaCedente = new ContaBancaria("", "", "", ""); var cedente = new Cedente("4295579", 0, "99.999.999/0001-99", "Razao Social Teste Linha Digitável", 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(); carteira.Codigo = "CNR"; var boleto = new Boleto(carteira, cedente, sacado, remessa); boleto.NumeroDocumento = "40156"; boleto.Moeda = "9"; boleto.ValorBoleto = 200; boleto.CodigoDoProduto = "2"; boleto.IdentificadorInternoBoleto = "40156"; boleto.DataVencimento = new DateTime(2012, 11, 15); banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); banco.FormataLinhaDigitavel(boleto); var valorEsperado = "39994.29552 79000.000004 40156.320224 1 55180000020000"; Assert.AreEqual(valorEsperado.Length, boleto.LinhaDigitavelBoleto.Length); Assert.AreEqual(valorEsperado, boleto.LinhaDigitavelBoleto); }
public void CalculoLinhaDigitavelCarteira06DocumentacaoBradesco() { /* * Teste baseado em um boleto apresentado na documentação oficial do Banco da Amazônia versão 1 * Manual de Cobrança Registrada Simples */ var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("237", "2"); var contaBancariaCedente = new ContaBancaria("1234", "8", "12345", "6"); var cedente = new Cedente("99999", "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 = "06"}; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "3242", ValorBoleto = Convert.ToDecimal(275), IdentificadorInternoBoleto = "3242", DataVencimento = new DateTime(2014, 08, 04) }; banco.FormatarBoleto(boleto); const string valorEsperado = "00390.07802 00100.000009 00000.012385 8 39160000001556"; Assert.AreEqual(valorEsperado.Length, boleto.LinhaDigitavelBoleto.Length); Assert.AreEqual(valorEsperado, boleto.LinhaDigitavelBoleto); }
public void CalculoCodigoBarrasCarteira11BancoDoBrasil() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("001", "9"); var contaBancariaCedente = new ContaBancaria("165", "1", "32473", "6"); var cedente = new Cedente("9999999", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null) { Convenio = "2749885" }; var sacado = new Sacado("Sacado Fulano de Tal", "999.999.999-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 = "11"}; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "3745", ValorBoleto = Convert.ToDecimal(701.11), IdentificadorInternoBoleto = "3745", DataVencimento = new DateTime(2015, 08, 20) }; banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); Assert.AreEqual("00194652600000701110000002749885000000374511", boleto.CodigoBarraBoleto); }
public void CalculoCodigoBarrasCarteira06DocumentacaoBradesco() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("237", "2"); var contaBancariaCedente = new ContaBancaria("2374", "4", "0165199", "4"); var cedente = new Cedente("9999999", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null); var sacado = new Sacado("Sacado Fulano de Tal", "999.999.999-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 = "06"}; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "41636135093", ValorBoleto = Convert.ToDecimal(221.40), IdentificadorInternoBoleto = "41636135093", DataVencimento = new DateTime(2014, 07, 10), Moeda = "9" }; banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); const string valorEsperado = "00398391600000015560078000100000000000001238"; Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length); Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto); }
public void BSantanderCalculoCodigoDeBarras2() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("033", "7"); var contaBancariaCedente = new ContaBancaria("0020", "5", "13003695", "9"); var cedente = new Cedente("527654", "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 = "101" }; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "19457", ValorBoleto = Convert.ToDecimal(337.00), IdentificadorInternoBoleto = "19457", DataVencimento = new DateTime(2015, 08, 05) }; banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); const string valorEsperado = "03396651100000337009052765400000001945730101"; Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length); Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto); }
public void TesteCalculoNossoNumeroCarteira109BoletoItau() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("341", "7"); var contaBancariaCedente = new ContaBancaria("0057", "", "72192", ""); var cedente = new Cedente("9999999", 0, "99.999.999/9999-99", "Razão 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(); carteira.Codigo = "109"; var boleto = new Boleto(carteira, cedente, sacado, remessa); boleto.NumeroDocumento = "12345678"; boleto.ValorBoleto = 12345; boleto.IdentificadorInternoBoleto = "12345678"; boleto.DataVencimento = new DateTime(2014, 11, 14); banco.ValidaBoletoComNormasBanco(boleto); banco.FormataNossoNumero(boleto); Assert.AreEqual("109/12345678-8", boleto.NossoNumeroFormatado); }
public void TesteGerarLinhaDigitavelBoletoComFatorVencimento() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "1"); var banco = Fabricas.BancoFactory.ObterBanco("070"); var contaBancariaCedente = new ContaBancaria("201", "", "19316", "9"); var cedente = new Cedente("9999999", 0, "99.999.999/9999-99", "Razão 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(); carteira.Codigo = "1"; carteira.Tipo = "1"; var boleto = new Boleto(carteira, cedente, sacado, remessa); boleto.NumeroDocumento = "37018"; boleto.ValorBoleto = Convert.ToDecimal(510.35); boleto.IdentificadorInternoBoleto = "37018"; boleto.DataVencimento = new DateTime(2015, 07, 08); banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); banco.FormataLinhaDigitavel(boleto); Assert.AreEqual("07090.00202 10193.169108 37018.070104 6 64830000051035", boleto.LinhaDigitavelBoleto); }
public void CalculoNossoNumeroCarteira17BancoDoBrasil() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("001", "9"); var contaBancariaCedente = new ContaBancaria("2374", "4", "0165199", "4"); var cedente = new Cedente("9999999", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null); var sacado = new Sacado("Sacado Fulano de Tal", "999.999.999-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 = "16" }; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "1", ValorBoleto = Convert.ToDecimal(221.40), IdentificadorInternoBoleto = "1", DataVencimento = new DateTime(2014, 07, 10) }; banco.FormataNossoNumero(boleto); Assert.AreEqual("06/41636135093-P", boleto.NossoNumeroFormatado); }
public void TesteCalculoNossoNumeroBoletoReal() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("399", "9"); var contaBancariaCedente = new ContaBancaria("", "", "", ""); var cedente = new Cedente("4295579", 0, "99.999.999/9999-99", "Razão Social Teste Cálculo Nosso Número Ltda", 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(); carteira.Codigo = "CNR"; var boleto = new Boleto(carteira, cedente, sacado, remessa); boleto.NumeroDocumento = "40156"; boleto.ValorBoleto = 200; boleto.IdentificadorInternoBoleto = "40156"; boleto.DataVencimento = new DateTime(2012, 11, 15); banco.FormataNossoNumero(boleto); Assert.AreEqual("0000000040156044", boleto.NossoNumeroFormatado); }
public void TesteCalculoCodigoBarrasCarteiraCnrHsbcBoletoDocumentacaoHsbc() { /* * Teste baseado em um boleto apresentado na documentação oficial do hsbc. * Cobrança Não Registrada * Manual de Emissão Empresa */ var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("399", "9"); var contaBancariaCedente = new ContaBancaria("", "", "", ""); var cedente = new Cedente("8351202", 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(); carteira.Codigo = "CNR"; var boleto = new Boleto(carteira, cedente, sacado, remessa); boleto.NumeroDocumento = "0000239104761"; boleto.Moeda = "9"; boleto.ValorBoleto = 1200; boleto.CodigoDoProduto = "2"; boleto.IdentificadorInternoBoleto = "0000239104761"; boleto.DataVencimento = new DateTime(2008, 7, 4); banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); var valorEsperado = "39994392300001200008351202000023910476118682"; Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length); Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto); }
public void TestGerarTrailerArquivoRemessaItauCnab400() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("341", "7"); var contaBancariaCedente = new ContaBancaria("0057", "", "72192", ""); var cedente = new Cedente("99999", 0, "99.999.999/9999-99", "Razão 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 = "196" }; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "1234567", ValorBoleto = 12345, IdentificadorInternoBoleto = "1234567", DataVencimento = new DateTime(2014, 09, 09), Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil), CodigoOcorrenciaRemessa = new CodigoOcorrencia(01), Moeda = "09", }; banco.FormatarBoleto(boleto); //const int numeroRegistro = 1; //var escritor = new EscritorRemessaCnab400Itau(); //var linhasEscrever = escritor.EscreverTrailer(numeroRegistro); //var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //var data = DateTime.Now.ToString("d").Replace("/", ""); //var nomeArquivo = string.Format("{0}{1}{2}{3}{4}{5}{6}", banco.CodigoBanco, "-", banco.NomeBanco, "_", data, @"_TRAILER", ".txt"); //var arquivo = new System.IO.StreamWriter(path + @"\" + nomeArquivo, true); //arquivo.WriteLine(linhasEscrever); //arquivo.Close(); }
public void TestGeracaoArquivoRemessa() { var dadosRemessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("237", "2"); var contaBancariaCedente = new ContaBancaria("1234", "8", "12345", "6"); var cedente = new Cedente("99999", "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 = "06" }; var boleto = new Boleto(carteira, cedente, sacado, dadosRemessa) { NumeroDocumento = "3242", ValorBoleto = Convert.ToDecimal(275), IdentificadorInternoBoleto = "3242", DataVencimento = new DateTime(2014, 08, 04), Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil) }; banco.FormatarBoleto(boleto); var remessa = new RemessaCnab400(); remessa.Header = new HeaderRemessaCnab400(boleto, 1, 1); var detalheIndividual = new DetalheRemessaCnab400(boleto, 1); remessa.RegistrosDetalhe = new List<DetalheRemessaCnab400> { detalheIndividual }; remessa.Trailer = new TrailerRemessaCnab400(1, 1); var escritor = new EscritorRemessaCnab400Bradesco(remessa); var linhasEscrever = escritor.EscreverTexto(remessa); var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); var data = String.Format("{0}_{1}", DateTime.Now.ToString("ddMMyyyy"), DateTime.Now.ToString("HHmmss")); var nomeArquivo = string.Format("{0}{1}{2}{3}", banco.CodigoBanco, @"_REMESSA_", data, ".txt"); StringBuilder sb = new StringBuilder(); foreach (var linha in linhasEscrever) { sb.AppendLine(linha); } File.WriteAllLines(path, linhasEscrever.ToArray()); }
public void TestGeracaoArquivoRemessaCef() { var dadosRemessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("104", "0"); var contaBancariaCedente = new ContaBancaria("007", "8", "1234", "0"); var cedente = new Cedente("999999", "123456", 0, "99.999.999/9999-99", "Razão 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 = "SR" }; var boleto = new Boleto(carteira, cedente, sacado, dadosRemessa) { BancoBoleto = banco, NumeroDocumento = "19", ValorBoleto = (decimal)1000.51, IdentificadorInternoBoleto = "19", DataVencimento = new DateTime(2014, 06, 30), Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil), }; var listaBoleto = new List<Boleto>(); listaBoleto.Add(boleto); banco.FormatarBoleto(boleto); #region GERAÇÃO 1 var remessa = new RemessaCnab240(); //var listaDetalhes = new List<DetalheRemessaCnab240>(); remessa.Header = new HeaderRemessaCnab240(listaBoleto.FirstOrDefault(), 1); //var detalheSegmentoP = new DetalheSegmentoPRemessaCnab240(boleto) //{ // CodigoCedente = "123456", // NossoNumero = "123456", // NumeroDocumento = "123456", // CodigoOcorrencia = new CodigoOcorrencia(01), // Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil), // Aceite = "N", // DataVencimento = new DateTime(2014, 10, 01), // ValorBoleto = (decimal)100.51, //}; remessa.Lotes = new List<LoteRemessaCnab240> { }; var loteAdd = new LoteRemessaCnab240(); loteAdd.HeaderLote = new HeaderLoteRemessaCnab240(listaBoleto.FirstOrDefault(), 1); loteAdd.TrailerLote = new TrailerLoteRemessaCnab240(1); //loteAdd.RegistrosDetalheSegmentos = new List<DetalheRemessaCnab240>(); //var detalheRemessaAdd = new DetalheRemessaCnab240(); //detalheRemessaAdd.SegmentoP = detalheSegmentoP; //loteAdd.RegistrosDetalheSegmentos.Add(detalheRemessaAdd); remessa.Lotes.Add(loteAdd); remessa.Trailer = new TrailerRemessaCnab240(1, 1); #endregion GERAÇÃO 1 var fabricaRemessa = new RemessaFactory(); var remessaPronta = fabricaRemessa.GerarRemessa(remessa.Header, loteAdd.HeaderLote, listaBoleto, loteAdd.TrailerLote, remessa.Trailer); var escritor = EscritorArquivoRemessaFactory.ObterEscritorRemessa(remessa); var linhasEscrever = escritor.EscreverTexto(remessaPronta); var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); var data = String.Format("{0}_{1}", DateTime.Now.ToString("ddMMyyyy"), DateTime.Now.ToString("HHmmss")); var nomeArquivo = string.Format("{0}{1}{2}{3}", banco.CodigoBanco, @"_REMESSA_", data, ".txt"); StringBuilder sb = new StringBuilder(); foreach (var linha in linhasEscrever) { sb.AppendLine(linha); } File.WriteAllLines("C:\\REMESSA.TXT", linhasEscrever.ToArray()); }
public void TesteCalculoCodigoBarrasCarteiraSrBoletoDocumentacaoCef() { /* * Teste baseado em um boleto apresentado na documentação oficial do Banco da Amazônia versão 1 * Manual de Cobrança Registrada Simples */ var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("104", "0"); var contaBancariaCedente = new ContaBancaria("1839", "", "", ""); var cedente = new Cedente("256803", "", 9, "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(); carteira.Codigo = "SR"; var boleto = new Boleto(carteira, cedente, sacado, remessa); boleto.NumeroDocumento = "090972714"; boleto.ValorBoleto = Convert.ToDecimal(119.90); boleto.IdentificadorInternoBoleto = "46286"; boleto.DataVencimento = new DateTime(2014, 09, 15); banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); banco.FormataLinhaDigitavel(boleto); const string valorEsperadoCodBar = "10493618700000119902568039000200040000462868"; // Código de Barras const string valorEsperadoLinhaDig = "10492.56801 39000.200046 00004.628681 3 61870000011990"; // Linha Digitável Assert.AreEqual(valorEsperadoCodBar.Length, boleto.CodigoBarraBoleto.Length); Assert.AreEqual(valorEsperadoCodBar, boleto.CodigoBarraBoleto); Assert.AreEqual(valorEsperadoLinhaDig.Length, boleto.LinhaDigitavelBoleto.Length); Assert.AreEqual(valorEsperadoLinhaDig, boleto.LinhaDigitavelBoleto); }
public void TestGerarTrailerLoteArquivoRemessaCefCnab240() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("104", "0"); var contaBancariaCedente = new ContaBancaria("007", "8", "1234", "0"); var cedente = new Cedente("999999", 0, "99.999.999/9999-99", "Razão 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 = "SR"}; var boleto = new Boleto(carteira, cedente, sacado, remessa) { NumeroDocumento = "19", ValorBoleto = (decimal) 1000.51, IdentificadorInternoBoleto = "19", DataVencimento = new DateTime(2014, 06, 30), Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil) }; banco.FormataNossoNumero(boleto); banco.FormataCodigoBarra(boleto); banco.FormataLinhaDigitavel(boleto); const int numeroLote = 1; const int numeroRegistro = 1; const int qtdTotalCobrancaSimples = 1; const decimal vlTotalCobrancaSimples = (decimal) 355.43; const int qtdTotalCobrancaCaucionada = 1; const decimal vlTotalCobrancaCaucionada = (decimal) 299.98; const int qtdTotalCobrancaDescontada = 1; const decimal vlTotalCobrancaDescontada = (decimal) 157.37; //var escritor = new EscritorRemessaCnab240CefSicgb(); //var linhasEscrever = escritor.EscreverTrailerDeLote( // qtdTotalCobrancaSimples, // vlTotalCobrancaSimples, // qtdTotalCobrancaCaucionada, // vlTotalCobrancaCaucionada, // qtdTotalCobrancaDescontada, // vlTotalCobrancaDescontada, // numeroLote, // numeroRegistro); //var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //var data = DateTime.Now.ToString("d").Replace("/", ""); //var nomeArquivo = string.Format("{0}{1}{2}{3}{4}{5}{6}", banco.CodigoBanco, "-", banco.NomeBanco, "_", data, @"_TRAILERdeLOTE", ".txt"); //var arquivo = new System.IO.StreamWriter(path + @"\" + nomeArquivo, true); //arquivo.WriteLine(linhasEscrever); //arquivo.Close(); }
public void TesteCalculoNossoNumeroCarteiraSrDocumentacaoCef() { var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("104", "0"); var contaBancariaCedente = new ContaBancaria("007", "8", "", ""); var cedente = new Cedente("9999999", 0, "99.999.999/9999-99", "Razão 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(); carteira.Codigo = "SR"; var boleto = new Boleto(carteira, cedente, sacado, remessa); boleto.NumeroDocumento = "19"; boleto.ValorBoleto = 1000; boleto.IdentificadorInternoBoleto = "19"; boleto.DataVencimento = new DateTime(2014, 06, 30); banco.FormataNossoNumero(boleto); //Providenciar boleto real para efetuar o teste da Carteira SEM REGISTRO Assert.AreEqual("24000000000019", boleto.NossoNumeroFormatado); }