Пример #1
0
        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 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);
        }
Пример #3
0
        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 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();
        }
Пример #5
0
        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();
        }
Пример #6
0
        private Boleto GerarBoletoCarteira109()
        {
            DateTime vencimento = new DateTime(2012, 12, 6);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0320", "0", "03200", "6");

            Boleto boleto = new Boleto(ListaBancos.Itau, vencimento, 2701.40m, "109", "20063", cedente);

            boleto.NumeroDocumento = "20063";

            return boleto;
        }
Пример #7
0
        private BoletoBancario GerarBoletoCarteira16()
        {
            var vencimento = new DateTime(2015, 7, 20);
            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0413", "8", "0002916", "5");
            var boleto = new Boleto(vencimento, 123, "16", "00970171092", cedente);
            boleto.NumeroDocumento = "970171092";

            var boletoBancario = new BoletoBancario();
            boletoBancario.CodigoBanco = 237;
            boletoBancario.Boleto = boleto;

            return boletoBancario;
        }
        private BoletoBancario GerarBoletoCarteira805076()
        {
            DateTime vencimento = new DateTime(2016, 01, 07);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0891", "", "260000120", "5");
            Boleto boleto = new Boleto(vencimento, 1.90M, "8050.76", "29338", cedente);
            boleto.NumeroDocumento = "29331";

            var boletoBancario = new BoletoBancario();
            boletoBancario.CodigoBanco = 041;
            boletoBancario.Boleto = boleto;
            boletoBancario.Boleto.Cedente.Codigo = "0891000012086";

            return boletoBancario;
        }
Пример #9
0
        private BoletoBancario GerarBoletoCarteira09()
        {
            DateTime vencimento = new DateTime(2012, 6, 8);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0539", "8", "0032463", "9");

            Boleto boleto = new Boleto(vencimento, 7620, "09", "18194", cedente);

            boleto.NumeroDocumento = "18194";

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 237;

            boletoBancario.Boleto = boleto;

            return boletoBancario;
        }
Пример #10
0
        private BoletoBancario GerarBoletoCarteira109()
        {
            DateTime vencimento = new DateTime(2012, 12, 6);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0320", "0", "03200", "6");

            Boleto boleto = new Boleto(vencimento, 2701.40m, "109", "20063", cedente);

            boleto.NumeroDocumento = "20063";

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 341;

            boletoBancario.Boleto = boleto;

            return boletoBancario;
        }
        private BoletoBancario GerarBoletoCarteira17019()
        {
            DateTime vencimento = new DateTime(2012, 6, 14);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0131", "7", "00059127", "0");

            Boleto boleto = new Boleto(vencimento, 1700, "17-019", "18204", cedente);

            boleto.NumeroDocumento = "18204";

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 1;

            boletoBancario.Boleto = boleto;

            return boletoBancario;
        }
Пример #12
0
        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);
        }
Пример #13
0
        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 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 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);
        }
Пример #16
0
        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);
        }
Пример #17
0
        private BoletoBancario GerarBoletoCarteira101()
        {
            DateTime vencimento = new DateTime(2012, 12, 4);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "3265", "3309894", "4");

            cedente.Codigo = "3309894";

            Boleto boleto = new Boleto(vencimento, 2701.40m, "101", "000000020061", cedente);

            boleto.NumeroDocumento = "20061";

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 33;

            boletoBancario.Boleto = boleto;

            return boletoBancario;
        }
Пример #18
0
        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);
        }
Пример #19
0
        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);
        }
Пример #20
0
        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);
        }
Пример #21
0
        private BoletoBancario GerarBoletoCarteira101_Com_IOS_8()
        {
            DateTime vencimento = new DateTime(2013, 4, 23);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "3719", "", "") { Codigo = "3780457" };

            Boleto boleto = new Boleto(vencimento, 1052.50m, "101", "000000252084", cedente);

            boleto.PercentualIOS = 8;

            boleto.DataProcessamento = new DateTime(2013, 4, 15);

            //boleto.NumeroDocumento = "20061";

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 33;

            boletoBancario.Boleto = boleto;

            return boletoBancario;
        }
Пример #22
0
        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 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);
        }
Пример #24
0
        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);
        }
Пример #25
0
        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);
        }
Пример #26
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            //Remove dígito da Agência.
            int DigAgencia = 0;
            int Agencia    = 0;
            if (txtAgenciaCedente.Text.IndexOf("-") > -1)
            {
                int s   = txtAgenciaCedente.Text.IndexOf("-") + 1;
                int tam = Strings.Len(txtAgenciaCedente.Text);
                DigAgencia = Convert.ToInt32(Strings.Right(txtAgenciaCedente.Text, tam - s));
                int dif = tam - (s - 1);
                //incluindo o traço.
                Agencia = Convert.ToInt32(Strings.Left(txtAgenciaCedente.Text, tam - dif));
            }
            //txtAgenciaCedente.Text

            //Remove dígito da Conta.
            int DigConta = 0;
            int Conta    = 0;
            if (txtContaCedente.Text.IndexOf("-") > -1)
            {
                int s2   = txtContaCedente.Text.IndexOf("-") + 1;
                int tam2 = Strings.Len(txtContaCedente.Text);
                DigConta = Convert.ToInt32(Strings.Right(txtContaCedente.Text, tam2 - s2));
                int dif2 = tam2 - (s2 - 1);
                //incluindo o traço.
                Conta = Convert.ToInt32(Strings.Left(txtContaCedente.Text, tam2 - dif2));
            }
            //txtContaCedente.Text

            //Remove dígito do Cedente.
            if (txtCodigoCedente.Text.IndexOf("-") > -1)
            {
                int s3   = txtCodigoCedente.Text.IndexOf("-") + 1;
                int tam3 = Strings.Len(txtCodigoCedente.Text);
                int dif3 = tam3 - (s3 - 1);
                //incluindo o traço.
                txtCodigoCedente.Text = Strings.Left(txtCodigoCedente.Text, tam3 - dif3);
            }


            //Validação.
            switch (txtBanco.Text)
            {
            case "001":
                //Banco do Brasil.

                //Carteira com 2 caracteres.
                //If Len(txtCarteira.Text) <> 2 Then
                //Response.Write("A Carteira deve conter 2 dígitos."]
                //Exit Sub
                //End If

                //Agência com 4 caracteres.
                if (Strings.Len(Agencia) > 4)
                {
                    Response.Write("A Agência deve conter até 4 dígitos.");
                    return;
                }


                //Conta com 8 caracteres.
                if (Strings.Len(Conta) > 8)
                {
                    Response.Write("A Conta deve conter até 8 dígitos.");
                    return;
                }


                //Cedente com 8 caracteres.
                if (Strings.Len(txtCodigoCedente.Text) > 8)
                {
                    Response.Write("O Código do Cedente deve conter até 8 dígitos.");
                    return;
                }


                //Nosso Número deve ser 11 ou 17 dígitos.
                if (Strings.Len(txtNossoNumeroBoleto.Text) != 11 & Strings.Len(txtNossoNumeroBoleto.Text) != 17)
                {
                    Response.Write("O Nosso Número deve ter 11 ou 17 dígitos dependendo da Carteira.");
                    return;
                }


                break;
            //Se Carteira 18 então NossoNumero são 17 dígitos.
            //If txtCarteira.Text = "18" Then
            // If Len(txtNossoNumeroBoleto.Text) <> 17 Then
            // Response.Write("O Nosso Número deve ter 17 dígitos para Carteira 18."]
            // Exit Sub
            // End If
            //Else
            // 'Senão, então NossoNumero 11 dígitos.
            // If Len(txtNossoNumeroBoleto.Text) <> 11 Then
            // Response.Write("O Nosso Número deve ter 11 dígitos para Carteira diferente que 18."]
            // Exit Sub
            // End If
            //End If

            case "033":
                //Santander.
                break;

            case "070":
                //Banco BRB.
                break;

            case "104":
                //Caixa Econômica Federal.
                break;

            case "237":
                //Banco Bradesco.
                break;

            case "275":
                //Banco Real.

                //Cedente
                if (!string.IsNullOrEmpty(Request["CodigoCedente"]))
                {
                }

                //Cobrança registrada 7 dígitos.
                //Cobrança sem registro até 13 dígitos.
                if (Strings.Len(txtNossoNumeroBoleto.Text) < 7 & Strings.Len(txtNossoNumeroBoleto.Text) < 13)
                {
                    Response.Write("O Nosso Número deve ser entre 7 e 13 caracteres.");
                    return;
                }


                //Carteira
                if (txtCarteira.Text != "00" & txtCarteira.Text != "20" & txtCarteira.Text != "31" & txtCarteira.Text != "42" & txtCarteira.Text != "47" & txtCarteira.Text != "85" & txtCarteira.Text != "57")
                {
                    Response.Write("A Carteira deve ser 00,20,31,42,47,57 ou 85.");
                    return;
                }

                //00'- Carteira do convênio
                //20' - Cobrança Simples
                //31' - Cobrança Câmbio
                //42' - Cobrança Caucionada
                //47' - Cobr. Caucionada Crédito Imobiliário
                //85' - Cobrança Partilhada
                //57 - última implementação ?

                //Agência 4 dígitos.
                if (Strings.Len(Agencia) > 4)
                {
                    Response.Write("A Agência deve conter até 4 dígitos.");
                    return;
                }

                //Número da conta 6 dígitos.
                if (Strings.Len(Conta) > 6)
                {
                    Response.Write("A Conta Corrente deve conter até 6 dígitos.");
                    return;
                }


                break;

            case "291":
                //Banco BCN.
                break;

            case "341":
                //Banco Itaú.
                break;

            case "347":
                //Banco Sudameris.
                break;

            case "356":
                //Banco Real.

                //Cedente
                if (!string.IsNullOrEmpty(Request["CodigoCedente"]))
                {
                }
                //?


                //Cobrança registrada 7 dígitos.
                //Cobrança sem registro até 13 dígitos.
                if (Strings.Len(txtNossoNumeroBoleto.Text) < 7 & Strings.Len(txtNossoNumeroBoleto.Text) < 13)
                {
                    Response.Write("O Nosso Número deve ser entre 7 e 13 caracteres.");
                    return;
                }


                //Carteira
                if (txtCarteira.Text != "00" & txtCarteira.Text != "20" & txtCarteira.Text != "31" & txtCarteira.Text != "42" & txtCarteira.Text != "47" & txtCarteira.Text != "85" & txtCarteira.Text != "57")
                {
                    Response.Write("A Carteira deve ser 00,20,31,42,47,57 ou 85.");
                    return;
                }

                //00'- Carteira do convênio
                //20' - Cobrança Simples
                //31' - Cobrança Câmbio
                //42' - Cobrança Caucionada
                //47' - Cobr. Caucionada Crédito Imobiliário
                //85' - Cobrança Partilhada

                //Agência 4 dígitos.
                if (Strings.Len(Agencia) > 4)
                {
                    Response.Write("A Agência deve conter até 4 dígitos.");
                    return;
                }

                //Número da conta 6 dígitos.
                if (Strings.Len(Conta) > 6)
                {
                    Response.Write("A Conta Corrente deve conter até 6 dígitos.");
                    return;
                }


                break;

            case "409":
                //Banco Unibanco.
                break;

            case "422":
                //Banco Safra.
                break;

            default:

                break;
            }


            //Informa os dados do cedente
            Cedente c = new Cedente(txtCPFCNPJ.Text, txtNomeCedente.Text, Agencia.ToString(), DigAgencia.ToString(), Conta.ToString(), DigConta.ToString());

            //Dependendo da carteira, é necessário informar o código do cedente (o banco que fornece)
            c.Codigo = Convert.ToInt32(txtCodigoCedente.Text);

            //Dados para preenchimento do boleto (data de vencimento, valor, carteira e nosso número)
            Boleto b = new Boleto(Convert.ToDateTime(txtVencimento.Text), Convert.ToDecimal(txtValorBoleto.Text), txtCarteira.Text, txtNossoNumeroBoleto.Text, c);
            //"12345678901"

            //b.Carteira = "1"
            //b.Banco.Codigo = "18-019"

            //Dependendo da carteira, é necessário o número do documento
            b.NumeroDocumento = txtNumeroDocumentoBoleto.Text;
            b.ValorCobrado    = Convert.ToDecimal(txtValorCobrado.Text);
            //"12345678901"

            //Informa os dados do sacado
            b.Sacado = new Sacado(txtCPFCNPJSacado.Text, txtNomeSacado.Text);
            b.Sacado.Endereco.End    = txtEnderecoSacado.Text;
            b.Sacado.Endereco.Bairro = txtBairroSacado.Text;
            b.Sacado.Endereco.Cidade = txtCidadeSacado.Text;
            b.Sacado.Endereco.CEP    = txtCEPSacado.Text;
            b.Sacado.Endereco.UF     = txtUFSacado.Text;

            //Instrução.
            switch (txtBanco.Text)
            {
            case "001":
                //Banco do Brasil.
                Instrucao_BancoBrasil i1 = new Instrucao_BancoBrasil(Convert.ToInt32(txtBanco.Text));
                i1.Descricao = txtInstrucoes.Text;
                // "Não Receber após o vencimento"
                b.Instrucoes.Add(i1);
                break;

            case "033":
                //Santander.
                Instrucao_Santander i2 = new Instrucao_Santander(Convert.ToInt32(txtBanco.Text));
                i2.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i2);
                break;

            case "070":
                //Banco BRB.
                Instrucao i3 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i3.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i3);
                break;

            case "104":
                //Caixa Econômica Federal.
                Instrucao_Caixa i4 = new Instrucao_Caixa(Convert.ToInt32(txtBanco.Text));
                i4.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i4);
                break;

            case "237":
                //Banco Bradesco.
                Instrucao_Bradesco i5 = new Instrucao_Bradesco(Convert.ToInt32(txtBanco.Text));
                i5.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i5);
                break;

            case "275":
                //Banco Real.
                Instrucao i6 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i6.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i6);
                break;

            case "291":
                //Banco BCN.
                Instrucao i7 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i7.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i7);
                break;

            case "341":
                //Banco Itaú.
                Instrucao_Itau i8 = new Instrucao_Itau(Convert.ToInt32(txtBanco.Text));
                i8.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i8);
                break;

            case "347":
                //Banco Sudameris.
                Instrucao i9 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i9.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i9);
                break;

            case "356":
                //Banco Real.
                //Dim i10 As New Instrucao(CInt(txtBanco.Text))
                Instrucao i10 = new Instrucao(1);
                i10.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i10);
                break;

            case "409":
                //Banco Unibanco.
                Instrucao i11 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i11.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i11);
                break;

            case "422":
                //Banco Safra.
                Instrucao i12 = new Instrucao(Convert.ToInt32(txtBanco.Text));
                i12.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i12);
                break;

            default:
                //Instrução de teste Santander.
                Instrucao_Santander i13 = new Instrucao_Santander(Convert.ToInt32(txtBanco.Text));
                i13.Descricao = txtInstrucoes.Text;
                //"Não Receber após o vencimento"
                b.Instrucoes.Add(i13);
                break;
            }


            //Espécie do Documento - [R] Recibo
            switch (txtBanco.Text)
            {
            case "001":
                //Banco do Brasil.
                b.EspecieDocumento = new EspecieDocumento_BancoBrasil(2);
                break;
            //Espécie.
            //Cheque = 1, //CH – CHEQUE
            //DuplicataMercantil = 2, //DM – DUPLICATA MERCANTIL
            //DuplicataMercantilIndicacao = 3, //DMI – DUPLICATA MERCANTIL P/ INDICAÇÃO
            //DuplicataServico = 4, //DS – DUPLICATA DE SERVIÇO
            //DuplicataServicoIndicacao = 5, //DSI – DUPLICATA DE SERVIÇO P/ INDICAÇÃO
            //DuplicataRural = 6, //DR – DUPLICATA RURAL
            //LetraCambio = 7, //LC – LETRA DE CAMBIO
            //NotaCreditoComercial = 8, //NCC – NOTA DE CRÉDITO COMERCIAL
            //NotaCreditoExportacao = 9, //NCE – NOTA DE CRÉDITO A EXPORTAÇÃO
            //NotaCreditoIndustrial = 10, //NCI – NOTA DE CRÉDITO INDUSTRIAL
            //NotaCreditoRural = 11, //NCR – NOTA DE CRÉDITO RURAL
            //NotaPromissoria = 12, //NP – NOTA PROMISSÓRIA
            //NotaPromissoriaRural = 13, //NPR –NOTA PROMISSÓRIA RURAL
            //TriplicataMercantil = 14, //TM – TRIPLICATA MERCANTIL
            //TriplicataServico = 15, //TS – TRIPLICATA DE SERVIÇO
            //NotaSeguro = 16, //NS – NOTA DE SEGURO
            //Recibo = 17, //RC – RECIBO
            //Fatura = 18, //FAT – FATURA
            //NotaDebito = 19, //ND – NOTA DE DÉBITO
            //ApoliceSeguro = 20, //AP – APÓLICE DE SEGURO
            //MensalidadeEscolar = 21, //ME – MENSALIDADE ESCOLAR
            //ParcelaConsorcio = 22, //PC – PARCELA DE CONSÓRCIO
            //Outros = 23 //OUTROS

            case "033":
                //Santander.
                b.EspecieDocumento = new EspecieDocumento_Santander(17);
                break;

            case "070":
                //Banco BRB.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            case "104":
                //Caixa Econômica Federal.
                b.EspecieDocumento = new EspecieDocumento_Caixa(17);
                break;

            case "237":
                //Banco Bradesco.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            case "275":
                //Banco Real.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            case "291":
                //Banco BCN.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            case "341":
                //Banco Itaú.
                b.EspecieDocumento = new EspecieDocumento_Itau(99);
                break;

            case "347":
                //Banco Sudameris.
                b.EspecieDocumento = new EspecieDocumento_Sudameris(17);
                break;

            case "356":
                //Banco Real.
                break;

            //Não funciona com isso.
            //b.EspecieDocumento = New EspecieDocumento_BancoBrasil(17)
            //b.EspecieDocumento = New EspecieDocumento_Itau(99)
            case "409":
                //Banco Unibanco.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            case "422":
                //Banco Safra.
                b.EspecieDocumento = new EspecieDocumento(17);
                break;

            default:
                //Banco de teste Santander.
                b.EspecieDocumento = new EspecieDocumento_Santander(17);
                break;
            }


            BoletoBancario bb = new BoletoBancario();
            bb.CodigoBanco = Convert.ToInt16(txtBanco.Text);
            //33 '-> Referente ao código do Santander
            bb.Boleto = b;
            //bb.MostrarCodigoCarteira = True
            bb.Boleto.Valida();

            //true -> Mostra o compravante de entrega
            //false -> Oculta o comprovante de entrega
            bb.MostrarComprovanteEntrega = false;

            panelDados.Visible = false;
            panelBoleto.Controls.Clear();
            if (panelBoleto.Controls.Count == 0)
            {
                panelBoleto.Controls.Add(bb);
            }

            //03399.08063 49800.000330 32007.101028 8 41680000065640 -> correta
            //03399.08063 49800.000330 32007.101028 8 41680000065640
            //03399.08063 49800.000330 32007.101028 1 41680000065640
            //03399.08063 49800.003334 20071.301012 6 41680000065640
            //03399.08063 49800.000330 32007.101028 1 41680000065640

            //03399.08063 49800.003334 20071.301020 4 41680000065640
            //03399.08063 49800.003334 20071.301020 4 41680000065640

            //Gerar remessa.
            //Dim rdr As System.IO.Stream
            //Dim arquivo As New ArquivoRemessa(TipoArquivo.CNAB400)
            //arquivo.GerarArquivoRemessa(txtCodigoCedente.Text, b.Banco, _
            // b.Cedente, b, rdr, 1)
            //Response.Write(rdr.ToString())



            return;
        }
        catch (Exception ex)
        {
            Response.Write(ex);
        }
    }
Пример #27
0
        protected override string FormataNossoNumero(string nossoNumero, Cedente cedente, DateTime dtVencto)
        {
            string n = string.Concat("24", nossoNumero.PadLeft(15, '0'));

            return(string.Concat(n, " - ", Helper.Mod11(n, 9, 3).ToString()));
        }
Пример #28
0
 protected override string FormataAgCodCedente(Cedente cedente)
 {
     return(string.Concat(cedente.Agencia, "/", cedente.CodCedente, "-", Helper.Mod11(cedente.CodCedente, 9, 0)));
 }
Пример #29
0
        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();
        }
Пример #30
0
        public void Uniprime_Homologacao()
        {
            var cedente = new Cedente("35.342.670/0001-70", "EMPRESA MODELO S/A", "0001", "9", "0079502", "0");

            cedente.Codigo        = "444601";
            cedente.Convenio      = 444601;
            cedente.DigitoCedente = 0;
            cedente.Carteira      = "09";

            var sacado = new Sacado("35.342.670/0001-70", "JOSE DA SILVA");

            sacado.Endereco = new Endereco()
            {
                End = "AV. DAS ROSAS", Numero = "10", Bairro = "JARDIM FLORIDO", Cidade = "CORNELIO PROCOPIO", CEP = "86300-000", UF = "PR", Email = "*****@*****.**"
            };

            // Gera 5 boletos e salva em PDF na pasta TEMP
            var bolRemessa = new Boletos();

            for (int i = 1; i <= 5; i++)
            {
                var boleto = new Boleto()
                {
                    NumeroDocumento = "DOC " + i.ToString("00000"),
                    DataVencimento  = DateTime.Today.AddDays(i),
                    ValorBoleto     = 200 * i,
                    NossoNumero     = i.ToString("00000000000"),
                    Carteira        = "09",
                    Cedente         = cedente,
                    Banco           = new Banco(084),
                    Sacado          = new Sacado()
                    {
                        CPFCNPJ  = "35.342.670/0001-70",
                        Nome     = "JOSE DA SILVA",
                        Endereco = new Endereco()
                        {
                            End    = "AV. DAS ROSAS",
                            Numero = "10",
                            Bairro = "JARDIM FLORIDO",
                            Cidade = "CORNELIO PROCOPIO",
                            CEP    = "86300-000",
                            UF     = "PR",
                            Email  = "*****@*****.**"
                        }
                    }
                };
                bolRemessa.Add(boleto);
                var boletoBancarioPDF = new BoletoBancario();
                boletoBancarioPDF.CodigoBanco = 084;
                boletoBancarioPDF.Boleto      = boleto;
                boletoBancarioPDF.Boleto.Valida();
                var bytes         = boletoBancarioPDF.MontaBytesPDF();
                var arquivoBoleto = Path.Combine(Path.GetTempPath(), string.Format("Boleto_Uniprime_{0}.pdf", i));
                if (File.Exists(arquivoBoleto))
                {
                    File.Delete(arquivoBoleto);
                }
                var sw = new FileStream(arquivoBoleto, FileMode.CreateNew);
                sw.Write(bytes, 0, (int)bytes.Length);
                sw.Flush();
                sw.Close();
                boleto.NossoNumero = i.ToString("00000000000");
            }

            // Gera Remessa e salva na pasta TEMP
            var remessa        = new ArquivoRemessa(TipoArquivo.CNAB400);
            var arquivoRemessa = Path.Combine(Path.GetTempPath(), string.Format("Remessa_Uniprime_{0}{1}{2}.REM", DateTime.Today.Day.ToString("00"), DateTime.Today.Month.ToString("00"), DateTime.Today.ToString("yy")));

            if (File.Exists(arquivoRemessa))
            {
                File.Delete(arquivoRemessa);
            }
            var swRemessa = new FileStream(arquivoRemessa, FileMode.CreateNew);

            remessa.GerarArquivoRemessa(cedente.Convenio.ToString(), new Banco(84), cedente, bolRemessa, swRemessa, 1);
        }
Пример #31
0
        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());
        }
Пример #32
0
        public string BancodoBrasil()
        {
            DateTime vencimento = new DateTime(2008, 11, 11);

            #region Exemplo Carteira 16, com nosso número de 11 posições

            /*
             * Nesse exemplo utilizamos a carteira 16 e o nosso número no máximo de 11 posições.
             * Não é necessário informar o numero do convênio e nem o tipo da modalidade.
             * O nosso número tem que ter no máximo 11 posições.
             */

            Cedente          c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01m, "16", "09876543210", c);

            #endregion Exemplo Carteira 16, com nosso número de 11 posições

            #region Exemplo Carteira 16, convênio de 6 posições e tipo modalidade 21

            /*
             * Nesse exemplo utilizamos a carteira 16 e o número do convênio de 6 posições.
             * É obrigatório informar o tipo da modalidade 21.
             * O nosso número tem que ter no máximo 10 posições.
             */

            //Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            //c.Convenio = 123456;

            //BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01, "16", "09876543210", c);
            //b.TipoModalidade = "21";
            #endregion Exemplo Carteira 16, convênio de 6 posições e tipo modalidade 21

            #region Exemplo Carteira 18, com nosso número de 11 posições

            /*
             * Nesse exemplo utilizamos a carteira 18 e o nosso número no máximo de 11 posições.
             * Não é necessário informar o numero do convênio e nem o tipo da modalidade.
             * O nosso número tem que ter no máximo 11 posições.
             */

            //Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            //BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01, "18", "09876543210", c);

            #endregion Exemplo Carteira 18, com nosso número de 11 posições

            #region Exemplo Carteira 18, convênio de 6 posições e tipo modalidade 21

            /*
             * Nesse exemplo utilizamos a carteira 18 e o número do convênio de 6 posições.
             * É obrigatório informar o tipo da modalidade 21.
             * O nosso número tem que ter no máximo 10 posições.
             */

            //Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            //c.Convenio = 123456;
            //BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01, "18", "09876543210", c);
            //b.TipoModalidade = "21";
            #endregion Exemplo Carteira 18, convênio de 6 posições e tipo modalidade 21


            b.NumeroDocumento = "12415487";

            b.Sacado = new Sacado("000.000.000-00", "Nome do seu Cliente ");
            b.Sacado.Endereco.End    = "Endereço do seu Cliente ";
            b.Sacado.Endereco.Bairro = "Bairro";
            b.Sacado.Endereco.Cidade = "Cidade";
            b.Sacado.Endereco.CEP    = "00000000";
            b.Sacado.Endereco.UF     = "UF";

            //Adiciona as instruções ao boleto
            #region Instruções
            //Protestar
            Instrucao_BancoBrasil item = new Instrucao_BancoBrasil(9, 5);
            b.Instrucoes.Add(item);
            //ImportanciaporDiaDesconto
            item = new Instrucao_BancoBrasil(30, 0);
            b.Instrucoes.Add(item);
            //ProtestarAposNDiasCorridos
            item = new Instrucao_BancoBrasil(81, 15);
            b.Instrucoes.Add(item);
            #endregion Instruções

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            return(boletoBancario.MontaHtmlEmbedded());
        }
Пример #33
0
 protected override string FormataAgCodCedente(Cedente cedente)
 {
     return(cedente.Agencia + "/" + cedente.CodCedente);
 }
Пример #34
0
        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());
        }
Пример #35
0
 protected override void ValidaDados(Cedente cedente, string nossoNumero)
 {
     Helper.ValidateLength(cedente.CodCedente, 9, "Código do cedente deve ter 9 dígitos (incluindo digito verificador)");
     Helper.ValidateLength(cedente.Agencia, 4, "Código da agencia deve ter 4 dígitos");
     Helper.ValidateLength(nossoNumero, 1, 8, "Nosso número deve ser de 1 a 8 dígitos");
 }
Пример #36
0
        public void TestGerarArquivoRemessaUnicredCnab400()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");
            var banco   = Fabricas.BancoFactory.ObterBanco("136");
            var contaBancariaCedente = new ContaBancaria("0136", "3", "00623", "9");
            var cedente = new Cedente("12345", 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 = "21"
            };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento            = "14369",
                ValorBoleto                = Convert.ToDecimal(337.00),
                IdentificadorInternoBoleto = "00003",
                DataVencimento             = DateTime.Now.AddDays(10),
                CodigoDeTransmissao        = "00200643279401300369",
                BancoBoleto                = banco,
                CedenteBoleto              = cedente,
                CarteiraCobranca           = carteira,
                Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.NotaPromissoria),
                Aceite  = "S"
            };

            banco.FormatarBoleto(boleto);

            var cnab400 = new RemessaCnab400()
            {
                Header           = new HeaderRemessaCnab400(boleto, 1, 1),
                RegistrosDetalhe = new List <DetalheRemessaCnab400>()
                {
                    new DetalheRemessaCnab400(boleto, 2)
                },
                Trailer = new TrailerRemessaCnab400(12345, 3)
            };

            var escritor = new EscritorRemessaCnab400Unicred(cnab400);

            var linhasEscrever = escritor.EscreverTexto(cnab400);

            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, @"_REMESSA", ".txt");

            var arquivo = new System.IO.StreamWriter(path + @"\" + nomeArquivo, true);

            arquivo.Write(string.Join(Environment.NewLine, linhasEscrever));

            arquivo.Close();
        }
Пример #37
0
    protected void btprocessa_Click(object sender, EventArgs e)
    {
        Boolean lOk = true;

        string vencimento      = "10/01/2016";
        String valorBoleto     = "1000.00";
        String numeroDocumento = "B20005446";
        //cedente
        String cedente_codigo            = "1111111";
        String cedente_nossoNumeroBoleto = "22222222";
        String cedente_cpfCnpj           = "123.456.789-01";
        String cedente_nome        = "PAULO FREIRE - FOUR FREIRES INF.";
        String cedente_agencia     = "1000";
        String cedente_conta       = "22507";
        String cedente_digitoConta = "6";
        //sacado
        String  sacado_cpfCnpj  = "000.000.000-00";
        String  sacado_nome     = "Airam Miranda de Almeida";
        String  sacado_endereco = "Rua Iraçi Luchina, 62";
        String  sacado_bairro   = "Bairro Central";
        String  sacado_cidade   = "Rio de Janeiro";
        String  sacado_cep      = "23080-600";
        String  sacado_uf       = "RJ";
        Cedente cedente         = new Cedente(cedente_cpfCnpj, cedente_nome, cedente_agencia, cedente_conta, cedente_digitoConta);

        cedente.Codigo = cedente_codigo;
        Boleto boleto = new Boleto(Convert.ToDateTime(vencimento),
                                   Convert.ToDecimal(valorBoleto), "109",
                                   cedente_nossoNumeroBoleto, cedente);

        boleto.NumeroDocumento = numeroDocumento;
        Sacado sacado = new Sacado(sacado_cpfCnpj, sacado_nome);

        boleto.Sacado = sacado;
        boleto.Sacado.Endereco.End    = sacado_endereco;
        boleto.Sacado.Endereco.Bairro = sacado_bairro;
        boleto.Sacado.Endereco.Cidade = sacado_cidade;
        boleto.Sacado.Endereco.CEP    = sacado_cep;
        boleto.Sacado.Endereco.UF     = sacado_uf;
        Instrucao_Itau instrucao = new Instrucao_Itau();

        instrucao.Descricao = "Não Receber após o vencimento";
        boleto.Instrucoes.Add(instrucao);
        EspecieDocumento_Itau especie = new EspecieDocumento_Itau("99");

        boleto.EspecieDocumento = especie;
        BoletoBancario boleto_bancario = new BoletoBancario();

        boleto_bancario.CodigoBanco           = 341;
        boleto_bancario.Boleto                = boleto;
        boleto_bancario.MostrarCodigoCarteira = true;
        boleto_bancario.Boleto.Valida();
        boleto_bancario.MostrarComprovanteEntrega = false;

        //
        //pnl_dados.Visible = false;
        //
        //return boletoBancario.MontaHtmlEmbedded()
        //
        pnl_boleto.Controls.Add(boleto_bancario);

        //ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "window.open( '" + boleto_bancario.MontaHtml() + "', null, 'height=755,width=900,status=yes,resizable=yes,menubar=yes,location=yes' );", true);



        //
        // CRIA LOG ===============================================================================================================================================
        fwObs_Log = "BOLETOS: ";// +cbbanco.Value.ToString();
        SqlParameter[] param_log = { new SqlParameter("@login",    (String)Session["CodUsuario"]),
                                     new SqlParameter("@tabela",   fWtabela),
                                     new SqlParameter("@operacao", "PARCELAS"),
                                     new SqlParameter("@obs",      "GERAÇÃO BOLETOS"),
                                     new SqlParameter("@acao",     fwObs_Log) };
        uLog.MakeLog(param_log);
        // FIM CRIA LOG ===============================================================================================================================================
        //
        //
        btprocessa.Enabled = false;
        //ScriptManager.RegisterStartupScript(UpdatePanel, GetType(), "msgbox", "alert('Configuração Registrada!');", true);
    }
Пример #38
0
        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();
        }
Пример #39
0
        public BoletoBancario BancodoBrasil()
        {
            DateTime vencimento = DateTime.Now.AddDays(10);

            #region Exemplo Carteira 16, com nosso número de 11 posições

            /*
             * Nesse exemplo utilizamos a carteira 16 e o nosso número no máximo de 11 posições.
             * Não é necessário informar o numero do convênio e nem o tipo da modalidade.
             * O nosso número tem que ter no máximo 11 posições.
             */

            Cedente c = new Cedente("01.924.069/0001-74", "Empresa de Atacado", "2890", "8", "110893", "X");
            c.Convenio = 2550661;
            BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 55.00m, "17-019", "25506610000000012", c);

            #endregion Exemplo Carteira 16, com nosso número de 11 posições

            #region Exemplo Carteira 16, convênio de 6 posições e tipo modalidade 21

            /*
             * Nesse exemplo utilizamos a carteira 16 e o número do convênio de 6 posições.
             * É obrigatório informar o tipo da modalidade 21.
             * O nosso número tem que ter no máximo 10 posições.
             */

            //Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            //c.Convenio = 123456;

            //BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01, "16", "09876543210", c);
            //b.TipoModalidade = "21";
            #endregion Exemplo Carteira 16, convênio de 6 posições e tipo modalidade 21

            #region Exemplo Carteira 18, com nosso número de 11 posições

            /*
             * Nesse exemplo utilizamos a carteira 18 e o nosso número no máximo de 11 posições.
             * Não é necessário informar o numero do convênio e nem o tipo da modalidade.
             * O nosso número tem que ter no máximo 11 posições.
             */

            //Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            //BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01, "18", "09876543210", c);

            #endregion Exemplo Carteira 18, com nosso número de 11 posições

            #region Exemplo Carteira 18, convênio de 6 posições e tipo modalidade 21

            /*
             * Nesse exemplo utilizamos a carteira 18 e o número do convênio de 6 posições.
             * É obrigatório informar o tipo da modalidade 21.
             * O nosso número tem que ter no máximo 10 posições.
             */

            //Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "1", "123456", "1");
            //c.Convenio = 123456;
            //BoletoNet.Boleto b = new BoletoNet.Boleto(vencimento, 0.01, "18", "09876543210", c);
            //b.TipoModalidade = "21";
            #endregion Exemplo Carteira 18, convênio de 6 posições e tipo modalidade 21


            b.NumeroDocumento = "00007940";

            b.Sacado = new Sacado("02.980.839/0001-69", "Aleff sistemas");
            b.Sacado.Endereco.End    = "Rua josephina mandotti";
            b.Sacado.Endereco.Bairro = "Maia";
            b.Sacado.Endereco.Cidade = "Guarulhos";
            b.Sacado.Endereco.CEP    = "07115080";
            b.Sacado.Endereco.UF     = "SP";

            //Adiciona as instruções ao boleto
            #region Instruções
            ////Protestar
            //Instrucao_BancoBrasil item = new Instrucao_BancoBrasil(9, 5);
            //b.Instrucoes.Add(item);
            ////ImportanciaporDiaDesconto
            //item = new Instrucao_BancoBrasil(30, 0);
            //b.Instrucoes.Add(item);
            ////ProtestarAposNDiasCorridos
            //item = new Instrucao_BancoBrasil(81, 15);
            //b.Instrucoes.Add(item);
            #endregion Instruções

            boletoBancario.Boleto = b;
            boletoBancario.Boleto.Valida();

            boletoBancario.RemoveSimboloMoedaValorDocumento = true;
            boletoBancario.AjustaTamanhoFonte(12, 10, 14, 14);

            return(boletoBancario);
        }
        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());
        }
Пример #41
0
        public string BoletoImprimir() // List<BoletoBancario> boletos
        {
            var boletos = new List <BoletoBancario>();

            var vencimento = new DateTime(2016, 07, 16);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0131", "7", "00045110", "X")
            {
                Codigo   = "1220950",
                Convenio = 1234567
            };

            var boleto = new Boleto(vencimento, Convert.ToDecimal(1.99), "17", "10028528", cedente);

            boleto.Sacado = new Sacado("000.000.000-00", "Nome do cliente ");
            boleto.Sacado.Endereco.End    = "Endereco do cliente";
            boleto.Sacado.Endereco.Bairro = "Bairro do cliente";
            boleto.Sacado.Endereco.Cidade = "Cidade do cliente";
            boleto.Sacado.Endereco.CEP    = "00000000";
            boleto.Sacado.Endereco.UF     = "UF";

            // instrucoes do boleto
            Instrucao_Caixa item;

            item = new Instrucao_Caixa((int)10, Convert.ToDecimal(0.40));
            boleto.Instrucoes.Add(item);

            // documento
            boleto.NumeroDocumento = "10028528"; // nosso número

            EspecieDocumento_BancoBrasil espDocBB = new EspecieDocumento_BancoBrasil();

            boleto.EspecieDocumento = new EspecieDocumento_BancoBrasil(
                espDocBB.getCodigoEspecieByEnum(EnumEspecieDocumento_BancoBrasil.Outros));

            boleto.DataProcessamento = DateTime.Now;
            boleto.DataDocumento     = DateTime.Now;

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 1;
            //boletoBancario.CodigoBanco = 104; // CEF
            //boletoBancario.CodigoBanco = 33; // SANTANDER
            boletoBancario.Boleto = boleto;

            boletoBancario.GeraImagemCodigoBarras(boleto);

            boletoBancario.MostrarComprovanteEntrega = true;

            boletoBancario.Boleto.Valida();

            boletos.Add(boletoBancario);

            var _arquivo = string.Empty;
            var html     = new StringBuilder();

            _arquivo = "C:/Users/correa/Documents/text.html";


            foreach (var o in boletos)
            {
                html.Append(o.MontaHtmlEmbedded());
                html.Append("</br></br></br></br></br></br></br></br>");
            }

            using (var f = new FileStream(_arquivo, FileMode.Create))
            {
                StreamWriter w = new StreamWriter(f, System.Text.Encoding.UTF8);
                //w.Write(html.ToString());
                w.Write(html.ToString());
            }

            html = html
                   //.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], "\\") // convertendo o caminho absoluto para relativo
                   //.Replace(System.IO.Path.GetTempPath(), Url.Action("Temporario", "Faturas") + "/?filename=") // convertendo o caminho temporário em relativo
                   //.Replace(".w666{width:666px}", ".w666{width:21cm}")
                   //.Replace("<body>", "<body style=\"height:29cm\">")
                   //.Replace("</html>", "<a length=\"0\" href=\"/Faturas/PrintBoleto?Fatura=subsFatura\" >Exportar PDF</a></html>")
                   .Replace("</html>", "<a length=\"0\" href=\"#\" onclick=\"window.print();\">Imprimir</a></html>")
                   //.Replace("subsFatura", Fatura.Replace("/", "%2F"))
                   //.Replace("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">", "")
                   //.Replace("Imprimir em impressora jato de tinta (ink jet) ou laser em qualidade normal. (Não use modo econômico).<br>Utilize folha A4 (210 x 297 mm) ou Carta (216 x 279 mm) - Corte na linha indicada<br>","")
                   //.Replace("&nbsp;","")
            ;

            //var pg = MvcHtmlString.Create(html.ToString());
            return(html.ToString());
            //return pg.ToHtmlString();
        }
Пример #42
0
        private BoletoBancario GerarBoletoCarteira18019()
        {
            DateTime vencimento = new DateTime(2012, 12, 3);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0131", "7", "00045110", "X");

            var boleto = new Boleto(vencimento, 8420, "18-019", "10028528", cedente);

            boleto.NumeroDocumento = "10028528";

            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 1;

            boletoBancario.Boleto = boleto;

            return boletoBancario;
        }
Пример #43
0
        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();
        }
Пример #44
0
 protected override string FormataNossoNumero(string nossoNumero, Cedente cedente, DateTime dtVencto)
 {
     return(nossoNumero.PadLeft(17, '0'));
 }