Esempio n. 1
0
        private BoletoBancario GerarBoletoCarteira1()
        {
            var cedente = new Cedente("35.342.670/0001-70", "EMPRESA MODELO S/A", "0001", "9", "0079502", "0");

            cedente.CodigoTransmissao = "001";

            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 = "*****@*****.**"
            };
            var boleto = new Boleto(DateTime.Today.AddDays(30), 1.00m, "09", "0000000000", cedente);

            boleto.Sacado          = sacado;
            boleto.ContaBancaria   = new ContaBancaria("00019", "00795020");
            boleto.NumeroDocumento = "DOC 123";
            boleto.ValorBoleto     = 1050;
            var boletoBancario = new BoletoBancario();

            boletoBancario.CodigoBanco = 136;
            boletoBancario.Boleto      = boleto;
            boleto.Valida();
            return(boletoBancario);
        }
Esempio n. 2
0
        private Sacado ObtemSacado(uint codigoCliente)
        {
            var cli    = ClienteDAO.Instance.GetElement(codigoCliente);
            var sacado = new Sacado();

            sacado.Nome          = cli.Nome;
            sacado.CpfCnpj       = cli.CpfCnpj;
            sacado.TipoInscricao = cli.TipoPessoa.ToUpper() == "F" ? Sync.Utils.Boleto.TipoPessoa.Fisica : Sync.Utils.Boleto.TipoPessoa.Juridica;

            if (!string.IsNullOrEmpty(cli.EnderecoCobranca))
            {
                int numEndCli = 0;
                int.TryParse(cli.NumeroCobranca, out numEndCli);
                sacado.Endereco = new Endereco(cli.EnderecoCobranca, numEndCli, cli.BairroCobranca, cli.CidadeCobranca,
                                               cli.UfCobranca, cli.CepCobranca);
                sacado.Endereco.Complemento = cli.Compl;
                sacado.Endereco.End         = cli.Endereco;
            }
            else
            {
                int numEndCli = 0;
                int.TryParse(cli.Numero, out numEndCli);
                sacado.Endereco             = new Endereco(cli.Endereco, numEndCli, cli.Bairro, cli.Cidade, cli.Uf, cli.Cep);
                sacado.Endereco.Complemento = cli.Compl;
                sacado.Endereco.End         = cli.Endereco;
            }

            return(sacado);
        }
        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);
        }
Esempio n. 4
0
        public void Cecred_GerarBoletoCarteira01()
        {
            DateTime vencimento = new DateTime(2016, 03, 11);

            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0109", "265071", "1");

            cedente.Convenio = 0110041;
            cedente.Endereco = new Endereco()
            {
                Bairro      = "BAIRRO CEDENTE",
                CEP         = "88309-600",
                Cidade      = "CIDADE CEDENTE",
                Complemento = "CASA",
                Email       = "*****@*****.**",
                End         = "Teste CEDENTE",
                Numero      = "999",
                UF          = "SC"
            };
            cedente.Codigo = cedente.Convenio.ToString();

            cedente.Carteira = "01";
            string nossoNumero = "000000127"; // Tamanho nosso numero 9

            var sacado = new Sacado("000.000.000-00", "Sacado Teste");

            sacado.Endereco = new Endereco()
            {
                Bairro      = "BAIRRO SACADO",
                CEP         = "88309-600",
                Cidade      = "CIDADE SACADO",
                Complemento = "CASA",
                Email       = "*****@*****.**",
                End         = "Teste SACADO",
                Numero      = "999",
                UF          = "SC"
            };

            BoletoNet.Boleto boleto = new BoletoNet.Boleto(vencimento, 10.99m, cedente.Carteira, nossoNumero, cedente);
            boleto.NumeroDocumento = "ABC123";
            boleto.Sacado          = sacado;
            BoletoNet.BoletoBancario boletoBancario = new BoletoBancario();
            boletoBancario.CodigoBanco = 85;    // CECRED
            boletoBancario.Boleto      = boleto;

            try {
                boletoBancario.Boleto.Valida();
                var htmlString = boletoBancario.MontaHtml();

                //string _arquivo = string.Empty;
                //_arquivo = string.Format(@"C:\temp\boleto_{0}.html", boletoBancario.Boleto.NumeroDocumento);

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

                Assert.IsTrue(!string.IsNullOrEmpty(htmlString));
            } catch {
            }
        }
Esempio n. 5
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);
        }
Esempio n. 6
0
        public void GerarHeaderArquivoRemessaBradescoCnab400()
        {
            var banco = Fabricas.BancoFactory.ObterBanco("237", "2");
            var contaBancariaCedente = new ContaBancaria("0534", "7", "2801", "0");
            var cedente = new Cedente("4879962", 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 = "02", BancoEmiteBoleto = false
            };

            var boleto = new Boleto(carteira, cedente, sacado, null)
            {
                NumeroDocumento            = "55617",
                ValorBoleto                = Convert.ToDecimal(501.81),
                IdentificadorInternoBoleto = "55617",
                DataVencimento             = new DateTime(2016, 11, 25),
                Moeda       = "9",
                BancoBoleto = banco
            };

            banco.FormatarBoleto(boleto);

            var remessa = new RemessaCnab400
            {
                Header           = new HeaderRemessaCnab400(boleto, 1, 1),
                RegistrosDetalhe = new List <DetalheRemessaCnab400>(),
                Trailer          = new TrailerRemessaCnab400(boleto.ValorBoleto, 1)
            };

            var escritor = EscritorArquivoRemessaFactory.ObterEscritorRemessa(remessa);
            var detalhe  = new DetalheRemessaCnab400(boleto, 2);

            remessa.RegistrosDetalhe.Add(detalhe);

            var fabricaRemessa = new RemessaFactory();
            var remessaPronta  = fabricaRemessa.GerarRemessa(remessa.Header, new List <Boleto>()
            {
                boleto
            },
                                                             remessa.RegistrosDetalhe, remessa.Trailer);
            var linhasEscrever = escritor.EscreverTexto(remessaPronta);

            const string header =
                "01REMESSA01COBRANCA       00000000000004879962HOT BEACH SUITES OLIMPIA - EMP237BRADESCO       251116        MX0000002                                                                                                                                                                                                                                                                                     000001";

            Assert.AreEqual(header, remessaPronta.Header);
        }
        public ActionResult Index(FormCollection form)
        {
            var cedente = new Cedente()
            {
                Codigo        = "1111111",
                CPFCNPJ       = "123.456.789-01",
                Nome          = "PAULO FREIRE - FOUR FREIRES INF.",
                ContaBancaria = new ContaBancaria("1000", "", "22507", "6")
            };

            var sacado = new Sacado()
            {
                CPFCNPJ  = form["cpf"],
                Nome     = form["nome"],
                Endereco = new Endereco()
                {
                    End    = form["end"],
                    Bairro = form["bairro"],
                    Cidade = form["cidade"],
                    UF     = form["uf"],
                    CEP    = form["cep"]
                }
            };

            var boleto = new Boleto()
            {
                DataVencimento   = Convert.ToDateTime(form["vencimento"]),
                ValorBoleto      = Convert.ToDecimal(form["valor"]),
                NossoNumero      = "22222222",
                NumeroDocumento  = "B20005446",
                Carteira         = "109",
                Cedente          = cedente,
                Sacado           = sacado,
                EspecieDocumento = new EspecieDocumento_Itau("99"),
                Instrucoes       = new List <IInstrucao>()
                {
                    new Instrucao_Itau()
                    {
                        Descricao = "Não receber após o vencimento"
                    }
                },
            };

            var boleto_bancario = new BoletoBancario()
            {
                CodigoBanco               = 341,
                Boleto                    = boleto,
                MostrarCodigoCarteira     = false,
                MostrarComprovanteEntrega = false
            };

            boleto_bancario.Boleto.Valida();

            ViewBag.Boleto = boleto_bancario.MontaHtmlEmbedded();


            return(View(form));
        }
Esempio n. 8
0
        public void TestGerarHeaderLoteArquivoRemessaCefCnab240()
        {
            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 numeroRemessa = 1;

            //var escritor = new EscritorRemessaCnab240CefSicgb();

            //var linhasEscrever = escritor.EscreverHeaderDeLote(boleto, numeroRemessa, 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, @"_HEADERdeLOTE", ".txt");

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

            //arquivo.Close();
        }
        public void TestGerarTrailerArquivoRemessaSantanderCnab400()
        {
            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;
            //const decimal valorTitulos = (decimal) 10853.37;

            //var escritor = new EscritorRemessaCnab400Santander();

            //var linhasEscrever = escritor.EscreverTrailer(numeroRegistro, valorTitulos);

            //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();
        }
Esempio n. 10
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();
        }
Esempio n. 11
0
        /// <summary>
        /// Cria o boleto
        /// </summary>
        /// <param name="vencimento"></param>
        /// <param name="valorBoleto"></param>
        /// <param name="carteira"></param>
        /// <param name="nossoNumero"></param>
        /// <param name="cedente"></param>
        /// <returns>Boleto Bancário</returns>
        public BoletoBancario CreateBoleto(DateTime vencimento, decimal valorBoleto,
                                           string nossoNumero, string numeroDocumento, Cedente cedente,
                                           Sacado sacado, string descricaoInstrucao)
        {
            var boletoBancario = new BoletoBancario();

            var boleto = new Boleto(vencimento, valorBoleto, this.Carteira, nossoNumero, cedente);

            boleto.NumeroDocumento = numeroDocumento;
            boleto.Sacado          = sacado;

            // use os valores da classe
            if (!string.IsNullOrEmpty(this.NossoNumero))
            {
                boleto.NossoNumero = this.NossoNumero;
            }

            if (!string.IsNullOrEmpty(this.NumeroDocumento))
            {
                boleto.NumeroDocumento = this.NumeroDocumento;
            }

            this.Instrucao.Descricao = descricaoInstrucao;

            if (this.EspecieDocumento != null)
            {
                boleto.EspecieDocumento = this.EspecieDocumento;
            }
            //usa a instrução
            boleto.Instrucoes.Add(this.Instrucao);

            try
            {
                //use o codigo
                boletoBancario.CodigoBanco = this.CodigoBanco;
                boletoBancario.Boleto      = boleto;
                boletoBancario.Boleto.Valida();


                return(boletoBancario);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Boleto inválido " + ex.GetType());
                string msg = ex.Message;

                if (ex.InnerException != null)
                {
                    msg = msg + "\n\n" + ex.InnerException.Message;
                }

                XMessageIts.Erro(msg, "Boleto inválido, verifique os dados!");

                throw new Exception(msg, ex);
            }
        }
Esempio n. 12
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();
        }
Esempio n. 13
0
        public void TestGerarDetalheArquivoRemessaItauCnab400()
        {
            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.EscreverDetalhe(boleto, numeroRegistro);

            //var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

            //var data = DateTime.Now.ToString("d").Replace("/", "");

            //var nomeArquivo = string.Format("{0}{1}{2}{3}{4}{5}{6}", banco.CodigoBanco, "-", banco.NomeBanco, "_", data, @"_DETALHE", ".txt");

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

            //arquivo.Close();
        }
        public void 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();
        }
Esempio n. 15
0
        public void TestGerarDetalheArquivoRemessaBancoBrasilCnab400()
        {
            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",
                CodigoOcorrenciaRemessa = new CodigoOcorrencia(01),
            };

            banco.FormatarBoleto(boleto);

            //const int numeroRegistro = 1;

            //var escritor = new EscritorRemessaCnab400BancoDoBrasil();

            //var linhasEscrever = escritor.EscreverDetalhe(boleto, 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, @"_REGISTRO_DETALHE", ".txt");

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

            //arquivo.Close();
        }
Esempio n. 16
0
        static void Main(string[] args)
        {
            SacadoEndereco s1 = new SacadoEndereco(
                "null",
                50,
                "Jd. das pitangas",
                "Guarulhos",
                UnidadeFederativa.SP,
                "07245-056");

            Sacado paulo = new Sacado("Paulo", "3710780284466", s1);
        }
Esempio n. 17
0
        public void CalcularLinhaDigitavelCarteira102Santander()
        {
            var bancoParaNossoNumero = new BancoSantander();
            var nossoNumero          = "705638";

            var digito1 = bancoParaNossoNumero.Mod11SantanderObsolet(nossoNumero);
            var digito2 = bancoParaNossoNumero.Mod11Santander(nossoNumero);



            /*
             * Teste baseado em um boleto apresentado na documentação oficial do Banco Santander
             */
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");
            var banco   = Fabricas.BancoFactory.ObterBanco("033", "7");
            var contaBancariaCedente = new ContaBancaria("4165", "", "", "");
            var cedente = new Cedente("6545424", "1", 0, "99.999.999/9999-99", "Razao Social X", contaBancariaCedente,
                                      null);

            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro     = "1",
                Bairro         = "Bairro X",
                Cidade         = "Cidade X",
                SiglaUf        = "XX",
                Cep            = "12345-000",
                Complemento    = "Comp X",
                Numero         = "9"
            });

            var carteira = new CarteiraCobranca {
                Codigo = "102"
            };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento            = "0000006152007",
                ValorBoleto                = Convert.ToDecimal(252.00),
                IdentificadorInternoBoleto = "000000615200",
                DataVencimento             = new DateTime(2014, 07, 07)
            };

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);
            banco.FormataLinhaDigitavel(boleto);

            const string valorEsperado = "03399.65451 42400.000065 15200.701025 1 61170000025200";

            Assert.AreEqual(valorEsperado.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.LinhaDigitavelBoleto);
        }
Esempio n. 18
0
        public void CalcularLinhaDigitavelCarteiraUnicredi()
        {
            /*
             * aG-5951
             * CC-000077148
             * DGcc -0
             * NSSONRO - 00000230839
             * VALOR - 22200
             */

            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");
            var banco   = Fabricas.BancoFactory.ObterBanco("136");
            var contaBancariaCedente = new ContaBancaria("5951", "0", "77148", "0");
            var cedente = new Cedente("77148", 0, "13.562.237/0001-08", "NATIONAL - CONSTRUTORA E INCORPORADORA LTDA", 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(222),
                IdentificadorInternoBoleto = "23083",
                DataVencimento             = new DateTime(2019, 02, 28)
            };

            banco.FormatarBoleto(boleto);

            var linha_banco = boleto.LinhaDigitavelBoleto.Substring(0, 3);
            var linha_Moeda = boleto.LinhaDigitavelBoleto.Substring(3, 1);
            var Valor1      = boleto.LinhaDigitavelBoleto.Substring(48, 10);

            Assert.AreEqual(boleto.NossoNumeroFormatado.Replace("/", "").Replace("-", ""), "00000230839");
            Assert.AreEqual(linha_banco, banco.CodigoBanco);
            Assert.AreEqual(Valor1, "0000022200");
            Assert.AreEqual(boleto.LinhaDigitavelBoleto.Replace(".", "").Replace(" ", "").Length, 47);
        }
Esempio n. 19
0
        public void TesteCalculoCodigoBarrasCarteiraSrBoletoDocumentacaoCef()
        {
            /*
             * Teste baseado em um boleto apresentado na documentação oficial do Banco da Amazônia versão 1
             * Manual de Cobrança Registrada Simples
             */
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("104", "0");

            var contaBancariaCedente = new ContaBancaria("1839", "", "", "");

            var cedente = new Cedente("256803", "", 9, "99.999.999/9999-99", "Razao Social X", contaBancariaCedente, null);

            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro     = "1",
                Bairro         = "Bairro X",
                Cidade         = "Cidade X",
                SiglaUf        = "XX",
                Cep            = "12345-000",
                Complemento    = "Comp X",
                Numero         = "9"
            });

            var carteira = new CarteiraCobranca();

            carteira.Codigo = "SR";

            var boleto = new Boleto(carteira, cedente, sacado, remessa);

            boleto.NumeroDocumento            = "090972714";
            boleto.ValorBoleto                = Convert.ToDecimal(119.90);
            boleto.IdentificadorInternoBoleto = "46286";
            boleto.DataVencimento             = new DateTime(2014, 09, 15);

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);
            banco.FormataLinhaDigitavel(boleto);

            const string valorEsperadoCodBar   = "10493618700000119902568039000200040000462868";           // Código de Barras
            const string valorEsperadoLinhaDig = "10492.56801 39000.200046 00004.628681 3 61870000011990"; // Linha Digitável

            Assert.AreEqual(valorEsperadoCodBar.Length, boleto.CodigoBarraBoleto.Length);
            Assert.AreEqual(valorEsperadoCodBar, boleto.CodigoBarraBoleto);
            Assert.AreEqual(valorEsperadoLinhaDig.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(valorEsperadoLinhaDig, boleto.LinhaDigitavelBoleto);
        }
        public void TesteCalculoCodigoBarrasCarteiraCnrHsbcBoletoDocumentacaoHsbc()
        {
            /*
             * Teste baseado em um boleto apresentado na documentação oficial do hsbc.
             * Cobrança Não Registrada
             * Manual de Emissão Empresa
             */
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("399", "9");

            var contaBancariaCedente = new ContaBancaria("", "", "", "");

            var cedente = new Cedente("8351202", 0, "99.999.999/9999-99", "Razao Social X", contaBancariaCedente, null);

            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro     = "1",
                Bairro         = "Bairro X",
                Cidade         = "Cidade X",
                SiglaUf        = "XX",
                Cep            = "12345-000",
                Complemento    = "Comp X",
                Numero         = "9"
            });

            var carteira = new CarteiraCobranca();

            carteira.Codigo = "CNR";

            var boleto = new Boleto(carteira, cedente, sacado, remessa);

            boleto.NumeroDocumento            = "0000239104761";
            boleto.Moeda                      = "9";
            boleto.ValorBoleto                = 1200;
            boleto.CodigoDoProduto            = "2";
            boleto.IdentificadorInternoBoleto = "0000239104761";
            boleto.DataVencimento             = new DateTime(2008, 7, 4);

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);

            var valorEsperado = "39994392300001200008351202000023910476118682";

            Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto);
        }
Esempio n. 21
0
        public void CalcularLinhaDigitavelCarteiraSicredi()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");
            var banco   = Fabricas.BancoFactory.ObterBanco("748");
            var contaBancariaCedente = new ContaBancaria("0165", "02", "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 = "1"
            };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento            = "14369",
                ValorBoleto                = Convert.ToDecimal(337.00),
                IdentificadorInternoBoleto = "00003",
                DataVencimento             = new DateTime(2016, 11, 10),
                CodigoDeTransmissao        = "00200643279401300369"
            };

            banco.FormatarBoleto(boleto);

            var linha_banco        = boleto.LinhaDigitavelBoleto.Substring(0, 3);
            var linha_Moeda        = boleto.LinhaDigitavelBoleto.Substring(3, 1);
            var linha_TipoCobranca = boleto.LinhaDigitavelBoleto.Substring(4, 1);
            var linha_Carteira     = boleto.LinhaDigitavelBoleto.Substring(6, 1);
            var linha_NossoNro1    = boleto.LinhaDigitavelBoleto.Substring(7, 3);
            var linha_NossoNro2    = boleto.LinhaDigitavelBoleto.Substring(13, 7);
            var Valor1             = boleto.LinhaDigitavelBoleto.Substring(48, 10);
            var nossoNro           = (linha_NossoNro1 + linha_NossoNro2).Replace(".", "");

            Assert.AreEqual(boleto.NossoNumeroFormatado.Replace("/", "").Replace("-", ""), nossoNro);
            Assert.AreEqual(linha_banco, banco.CodigoBanco);
            Assert.AreEqual(Valor1, "0000033700");
            Assert.AreEqual(boleto.LinhaDigitavelBoleto.Replace(".", "").Replace(" ", "").Length, 47);
        }
Esempio n. 22
0
        public MemoryStream GerarBoleto(BoletoIn boletoIn)
        {
            Cedente cedente = new Cedente(boletoIn.Cedente.CPF,
                                          boletoIn.Cedente.Nome, boletoIn.Cedente.Agencia, boletoIn.Cedente.Conta, boletoIn.Cedente.DigitoConta);

            cedente.Codigo = Convert.ToInt32(boletoIn.Cedente.Codigo).ToString();

            Boleto boleto = new Boleto(Convert.ToDateTime(boletoIn.Vencimento),
                                       Convert.ToDecimal(boletoIn.Valor),
                                       "109", boletoIn.Cedente.NumeroBoleto, cedente);

            boleto.NumeroDocumento = boletoIn.Numero;

            Sacado sacado = new Sacado(boletoIn.Sacado.CPF, boletoIn.Sacado.Nome);

            boleto.Sacado = sacado;
            boleto.Sacado.Endereco.End    = boletoIn.Sacado.Endereco;
            boleto.Sacado.Endereco.Bairro = boletoIn.Sacado.Bairro;
            boleto.Sacado.Endereco.Cidade = boletoIn.Sacado.Cidade;
            boleto.Sacado.Endereco.CEP    = boletoIn.Sacado.CEP;
            boleto.Sacado.Endereco.UF     = boletoIn.Sacado.UF;

            Instrucao_Itau instrucao = new Instrucao_Itau();

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

            EspecieDocumento_Itau especieItau     = new EspecieDocumento_Itau("99");
            BoletoBancario        boleto_bancario = new BoletoBancario();

            boleto.EspecieDocumento     = especieItau;
            boleto_bancario.CodigoBanco = 341;

            boleto_bancario.Boleto = boleto;
            boleto_bancario.MostrarCodigoCarteira = true;
            //boleto_bancario.Boleto.Valida();
            boleto_bancario.MostrarComprovanteEntrega = true;

            try
            {
                return(SaveBoletoPDF(boleto_bancario.MontaBytesPDF()));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public void TesteLinhaDigitavelCarteira198BoletoDocumentacaoItau()
        {
            /*
             * 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("0057", "", "72192", "");

            var cedente = new Cedente("9999999", "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 = "19";

            var boleto = new Boleto(carteira, cedente, sacado, remessa);

            boleto.NumeroDocumento            = "1234567";
            boleto.ValorBoleto                = Convert.ToDecimal(123.45);
            boleto.IdentificadorInternoBoleto = "1234567";
            boleto.DataVencimento             = new DateTime(2014, 05, 01);

            banco.ValidaBoletoComNormasBanco(boleto);
            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);
            banco.FormataLinhaDigitavel(boleto);

            const string valorEsperado = "34191.10121 34567.880058 71234.570001 6 60500000012345";

            Assert.AreEqual(valorEsperado.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.LinhaDigitavelBoleto);
        }
        public void TesteLinhaDigitavelBoletoDocumentacaoBasa()
        {
            /*
             * 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("003", "5");

            var contaBancariaCedente = new ContaBancaria("007", "8", "", "");

            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();

            carteira.Codigo = "CNR";

            var boleto = new Boleto(carteira, cedente, sacado, remessa);

            boleto.NumeroDocumento            = "123";
            boleto.ValorBoleto                = Convert.ToDecimal(15.56);
            boleto.IdentificadorInternoBoleto = "123";
            boleto.DataVencimento             = new DateTime(2008, 06, 27);

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);
            banco.FormataLinhaDigitavel(boleto);

            const string valorEsperado = "00390.07802 00100.000009  00000.012385 8 39160000001556";

            Assert.AreEqual(valorEsperado.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.LinhaDigitavelBoleto);
        }
Esempio n. 25
0
        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);
        }
Esempio n. 26
0
        public void BSantanderCalculoCodigoDeBarras()
        {
            /*
             * 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("0319", "", "", "");

            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 = "102"
            };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento            = "001N002",
                ValorBoleto                = Convert.ToDecimal(80.55),
                IdentificadorInternoBoleto = "000000000027",
                DataVencimento             = new DateTime(2012, 11, 26)
            };

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);

            const string valorEsperado = "03391552900000080559052765400000000002720102";

            Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto);
        }
Esempio n. 27
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);
        }
Esempio n. 28
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);
        }
        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);
        }
Esempio n. 30
0
        public void CalcularLinhaDigitavelCarteira06Bradesco()
        {
            /*
             * 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 = "23761.23408 60000.000327 42001.234501 7 61450000027500";

            Assert.AreEqual(valorEsperado.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.LinhaDigitavelBoleto);
        }
Esempio n. 31
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);
        }
Esempio n. 33
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);
        }
Esempio n. 34
0
        public void CalcularLinhaDigitavelCarteira109Itau()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");
            var banco   = Fabricas.BancoFactory.ObterBanco("341");
            var contaBancariaCedente = new ContaBancaria("8122", "", "01010101", "0");
            var cedente = new Cedente("01010101", 0, "02.289.264/0001-32", "BUSINESS COMPANY TECNOLOGIA LTDA", 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 = "109"
            };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento            = "1",
                ValorBoleto                = Convert.ToDecimal(99.90),
                IdentificadorInternoBoleto = "1",
                DataVencimento             = DateTime.Now.Date
            };

            banco.FormatarBoleto(boleto);

            //const string linhaDigitavel = "34191.09008 09001.714345 33838.340009 9 69690000026806";

            //Test GOJUR - Sidney 11/12/2018
            const string linhaDigitavel = "34191.09008 00066.804345 33838.340009 2 77350000000100";


            Assert.AreEqual(boleto.LinhaDigitavelBoleto.Length, linhaDigitavel.Length);
            Assert.AreEqual(linhaDigitavel, boleto.LinhaDigitavelBoleto);
        }
Esempio n. 35
0
        public void CalcularLinhaDigitavelCarteira09Bradesco()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");
            var banco   = Fabricas.BancoFactory.ObterBanco("237", "2");
            var contaBancariaCedente = new ContaBancaria("1923", "2", "31718", "7");
            var cedente = new Cedente("4872529", 0, "02.289.264/0001-32", "BUSINESS COMPANY TECNOLOGIA LTDA", 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 = "09", BancoEmiteBoleto = false
            };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento            = "55645",
                ValorBoleto                = Convert.ToDecimal(0.99),
                IdentificadorInternoBoleto = "55645",
                DataVencimento             = DateTime.Now.Date
                                             //Moeda = "9"
            };

            banco.FormatarBoleto(boleto);

            //const string linhaDigitavel = "23791.92301 90000.005752 82003.171806 6 69740000047250";

            //Test GOJUR - Sidney 11/12/2018
            const string linhaDigitavel = "23771.92303 90000.005562 45003.171803 7 77350000000099";

            Assert.AreEqual(linhaDigitavel.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(linhaDigitavel, boleto.LinhaDigitavelBoleto);
        }
        public void CalculoLinhaDigitavelCarteira06DocumentacaoBradesco()
        {
            /*
             * Teste baseado em um boleto apresentado na documentação oficial do Banco da Amazônia versão 1
             * Manual de Cobrança Registrada Simples
             */
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("237", "2");

            var contaBancariaCedente = new ContaBancaria("1234", "8", "12345", "6");

            var cedente = new Cedente("99999", "1", 0, "99.999.999/9999-99", "Razao Social X", contaBancariaCedente, null);

            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro = "1",
                Bairro = "Bairro X",
                Cidade = "Cidade X",
                SiglaUf = "XX",
                Cep = "12345-000",
                Complemento = "Comp X",
                Numero = "9"
            });

            var carteira = new CarteiraCobranca {Codigo = "06"};

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento = "3242",
                ValorBoleto = Convert.ToDecimal(275),
                IdentificadorInternoBoleto = "3242",
                DataVencimento = new DateTime(2014, 08, 04)
            };

            banco.FormatarBoleto(boleto);

            const string valorEsperado = "00390.07802 00100.000009  00000.012385 8 39160000001556";
            Assert.AreEqual(valorEsperado.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.LinhaDigitavelBoleto);
        }
        public void CalculoCodigoBarrasCarteira11BancoDoBrasil()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("001", "9");

            var contaBancariaCedente = new ContaBancaria("165", "1", "32473", "6");

            var cedente = new Cedente("9999999", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null)
            {
                Convenio = "2749885"
            };

            var sacado = new Sacado("Sacado Fulano de Tal", "999.999.999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro     = "1",
                Bairro         = "Bairro X",
                Cidade         = "Cidade X",
                SiglaUf        = "XX",
                Cep            = "12345-000",
                Complemento    = "Comp X",
                Numero         = "9"
            });

            var carteira = new CarteiraCobranca {
                Codigo = "11"
            };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento            = "3745",
                ValorBoleto                = Convert.ToDecimal(701.11),
                IdentificadorInternoBoleto = "3745",
                DataVencimento             = new DateTime(2015, 08, 20)
            };

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);

            Assert.AreEqual("00194652600000701110000002749885000000374511", boleto.CodigoBarraBoleto);
        }
        public void BSantanderCalculoCodigoDeBarras()
        {
            /*
            * 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("0319", "", "", "");

            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 = "102"};

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento = "001N002",
                ValorBoleto = Convert.ToDecimal(80.55),
                IdentificadorInternoBoleto = "000000000027",
                DataVencimento = new DateTime(2012, 11, 26)
            };

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);

            const string valorEsperado = "03391552900000080559052765400000000002720102";
            Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto);
        }
Esempio n. 39
0
        public void BSantanderGeracaoDvNossoNumero()
        {
            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",
                NumeroDocumento            = "0000000014070",
                ValorBoleto                = Convert.ToDecimal(252.00),
                IdentificadorInternoBoleto = "14070",
                DataVencimento             = new DateTime(2014, 07, 07)
            };

            banco.FormataNossoNumero(boleto);

            const string valorEsperado = "0000000140709";

            Assert.AreEqual(valorEsperado.Length, boleto.NossoNumeroFormatado.Length);
            Assert.AreEqual(valorEsperado, boleto.NossoNumeroFormatado);
        }
Esempio n. 40
0
        public void CalcularLinhaDigitavelCarteira02Bradesco()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");
            var banco   = Fabricas.BancoFactory.ObterBanco("237");
            var contaBancariaCedente = new ContaBancaria("0534", "7", "2801", "0");
            var cedente = new Cedente("4879962", 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 = "02", BancoEmiteBoleto = false
            };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento            = "55617",
                ValorBoleto                = Convert.ToDecimal(501.81),
                IdentificadorInternoBoleto = "55617",
                DataVencimento             = new DateTime(2016, 11, 15),
                Moeda = "9"
            };

            banco.FormatarBoleto(boleto);

            const string linhaDigitavel = "23790.53404 20000.005569 17000.280101 6 69790000050181";



            Assert.AreEqual(linhaDigitavel.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(linhaDigitavel, boleto.LinhaDigitavelBoleto);
        }
Esempio n. 41
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);
        }
        public void CalculoCodigoBarrasCarteira06DocumentacaoBradesco()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("237", "2");

            var contaBancariaCedente = new ContaBancaria("2374", "4", "0165199", "4");

            var cedente = new Cedente("9999999", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null);

            var sacado = new Sacado("Sacado Fulano de Tal", "999.999.999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro = "1",
                Bairro = "Bairro X",
                Cidade = "Cidade X",
                SiglaUf = "XX",
                Cep = "12345-000",
                Complemento = "Comp X",
                Numero = "9"
            });

            var carteira = new CarteiraCobranca {Codigo = "06"};

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento = "41636135093",
                ValorBoleto = Convert.ToDecimal(221.40),
                IdentificadorInternoBoleto = "41636135093",
                DataVencimento = new DateTime(2014, 07, 10),
                Moeda = "9"
            };

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);

            const string valorEsperado = "00398391600000015560078000100000000000001238";
            Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto);
        }
        public void BSantanderCalculoCodigoDeBarras2()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("033", "7");

            var contaBancariaCedente = new ContaBancaria("0020", "5", "13003695", "9");

            var cedente = new Cedente("527654", "1", 0, "99.999.999/9999-99", "Razao Social X", contaBancariaCedente, null);

            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro = "1",
                Bairro = "Bairro X",
                Cidade = "Cidade X",
                SiglaUf = "XX",
                Cep = "12345-000",
                Complemento = "Comp X",
                Numero = "9"
            });

            var carteira = new CarteiraCobranca { Codigo = "101" };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento = "19457",
                ValorBoleto = Convert.ToDecimal(337.00),
                IdentificadorInternoBoleto = "19457",
                DataVencimento = new DateTime(2015, 08, 05)
            };

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);

            const string valorEsperado = "03396651100000337009052765400000001945730101";
            Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto);
        }
Esempio n. 44
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);
        }
Esempio n. 45
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);
        }
        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);
        }
Esempio n. 47
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);
        }
        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());
        }
Esempio n. 49
0
        public void TesteCalculoNossoNumeroCarteiraSrDocumentacaoCef()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("104", "0");

            var contaBancariaCedente = new ContaBancaria("007", "8", "", "");

            var cedente = new Cedente("9999999", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null);

            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro = "1",
                Bairro = "Bairro X",
                Cidade = "Cidade X",
                SiglaUf = "XX",
                Cep = "12345-000",
                Complemento = "Comp X",
                Numero = "9"
            });

            var carteira = new CarteiraCobranca();

            carteira.Codigo = "SR";

            var boleto = new Boleto(carteira, cedente, sacado, remessa);
            boleto.NumeroDocumento = "19";
            boleto.ValorBoleto = 1000;
            boleto.IdentificadorInternoBoleto = "19";
            boleto.DataVencimento = new DateTime(2014, 06, 30);

            banco.FormataNossoNumero(boleto);

            //Providenciar boleto real para efetuar o teste da Carteira SEM REGISTRO
            Assert.AreEqual("24000000000019", boleto.NossoNumeroFormatado);
        }
        public void BSantanderGeracaoDvNossoNumero()
        {
            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",
                NumeroDocumento = "0000000014070",
                ValorBoleto = Convert.ToDecimal(252.00),
                IdentificadorInternoBoleto = "14070",
                DataVencimento = new DateTime(2014, 07, 07)
            };

            banco.FormataNossoNumero(boleto);

            const string valorEsperado = "0000000140709";
            Assert.AreEqual(valorEsperado.Length, boleto.NossoNumeroFormatado.Length);
            Assert.AreEqual(valorEsperado, boleto.NossoNumeroFormatado);
        }
Esempio n. 51
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();
        }
Esempio n. 52
0
        public void TestGerarHeaderArquivoRemessaItauCnab400()
        {
            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),
            };

            banco.FormatarBoleto(boleto);

            //const int numeroRegistro = 1;

            //var escritor = new EscritorRemessaCnab400Itau();

            //var linhasEscrever = escritor.EscreverHeader(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, @"_HEADER", ".txt");

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

            //arquivo.Close();
        }
Esempio n. 53
0
        public void TesteCalculoCodigoBarrasCarteiraCnrHsbcBoletoDocumentacaoHsbc()
        {
            /*
             * Teste baseado em um boleto apresentado na documentação oficial do hsbc.
             * Cobrança Não Registrada
             * Manual de Emissão Empresa
             */
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("399", "9");

            var contaBancariaCedente = new ContaBancaria("", "", "", "");

            var cedente = new Cedente("8351202", 0, "99.999.999/9999-99", "Razao Social X", contaBancariaCedente, null);

            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro = "1",
                Bairro = "Bairro X",
                Cidade = "Cidade X",
                SiglaUf = "XX",
                Cep = "12345-000",
                Complemento = "Comp X",
                Numero = "9"
            });

            var carteira = new CarteiraCobranca();

            carteira.Codigo = "CNR";

            var boleto = new Boleto(carteira, cedente, sacado, remessa);
            boleto.NumeroDocumento = "0000239104761";
            boleto.Moeda = "9";
            boleto.ValorBoleto = 1200;
            boleto.CodigoDoProduto = "2";
            boleto.IdentificadorInternoBoleto = "0000239104761";
            boleto.DataVencimento = new DateTime(2008, 7, 4);

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);

            var valorEsperado = "39994392300001200008351202000023910476118682";
            Assert.AreEqual(valorEsperado.Length, boleto.CodigoBarraBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.CodigoBarraBoleto);
        }
Esempio n. 54
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());
        }
Esempio n. 55
0
        public void TesteCalculoCodigoBarrasCarteiraSrBoletoDocumentacaoCef()
        {
            /*
             * Teste baseado em um boleto apresentado na documentação oficial do Banco da Amazônia versão 1
             * Manual de Cobrança Registrada Simples
             */
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

            var banco = Fabricas.BancoFactory.ObterBanco("104", "0");

            var contaBancariaCedente = new ContaBancaria("1839", "", "", "");

            var cedente = new Cedente("256803", "", 9, "99.999.999/9999-99", "Razao Social X", contaBancariaCedente, null);

            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro = "1",
                Bairro = "Bairro X",
                Cidade = "Cidade X",
                SiglaUf = "XX",
                Cep = "12345-000",
                Complemento = "Comp X",
                Numero = "9"
            });

            var carteira = new CarteiraCobranca();

            carteira.Codigo = "SR";

            var boleto = new Boleto(carteira, cedente, sacado, remessa);
            boleto.NumeroDocumento = "090972714";
            boleto.ValorBoleto = Convert.ToDecimal(119.90);
            boleto.IdentificadorInternoBoleto = "46286";
            boleto.DataVencimento = new DateTime(2014, 09, 15);

            banco.FormataNossoNumero(boleto);
            banco.FormataCodigoBarra(boleto);
            banco.FormataLinhaDigitavel(boleto);

            const string valorEsperadoCodBar = "10493618700000119902568039000200040000462868"; // Código de Barras
            const string valorEsperadoLinhaDig = "10492.56801 39000.200046 00004.628681 3 61870000011990"; // Linha Digitável
            Assert.AreEqual(valorEsperadoCodBar.Length, boleto.CodigoBarraBoleto.Length);
            Assert.AreEqual(valorEsperadoCodBar, boleto.CodigoBarraBoleto);
            Assert.AreEqual(valorEsperadoLinhaDig.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(valorEsperadoLinhaDig, boleto.LinhaDigitavelBoleto);
        }