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. 2
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. 3
0
        public void TestGerarHeaderArquivoRemessaBRBCnab400()
        {
            var dadosRemessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro,
                "");
            var banco = Fabricas.BancoFactory.ObterBanco("070");
            var contaBancariaCedente = new ContaBancaria("201", "", "29088", "1");
            var cedente = new Cedente("99999", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null);
            var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco()
            {
                TipoLogradouro = "R",
                Logradouro = "1",
                Bairro = "Bairro X",
                Cidade = "Cidade X",
                SiglaUf = "XX",
                Cep = "12345-000",
                Complemento = "Comp X",
                Numero = "9"
            });

            var carteira = new CarteiraCobranca {Codigo = "1", Tipo = "1"};

            var boleto = new Boleto(carteira, cedente, sacado, dadosRemessa)
            {
                NumeroDocumento = "279141",
                ValorBoleto = Convert.ToDecimal(222.75),
                IdentificadorInternoBoleto = "279141",
                DataVencimento = new DateTime(2015, 03, 16),
                Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.Diversos),
                CodigoOcorrenciaRemessa = new CodigoOcorrencia(01),
                BancoBoleto = banco,
                TipoCobrancaJuro = TipoCobrancaJuro.JurosDiario
            };

            banco.FormatarBoleto(boleto);

            var remessa = new RemessaCnab400();

            remessa.Header = new HeaderRemessaCnab400(boleto, 1, 1, DateTime.Now);
            var detalheIndividual = new DetalheRemessaCnab400(boleto, 1);
            remessa.RegistrosDetalhe = new List<DetalheRemessaCnab400>
            {
                detalheIndividual
            };
            var escritor = new EscritorRemessaCnab400BRB(remessa);

            var linhasEscrever = escritor.EscreverTexto(remessa);
            var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            var data = String.Format("{0}_{1}", DateTime.Now.ToString("ddMMyyyy"), DateTime.Now.ToString("HHmmss"));

            var nomeArquivo = string.Format("{0}{1}{2}{3}", banco.CodigoBanco, @"_REMESSA_", data, ".txt");
            var arquivo = new System.IO.StreamWriter(path + @"\" + nomeArquivo, true);

            foreach (var linha in linhasEscrever)
            {
                arquivo.WriteLine(linha);
            }
            arquivo.Close();
        }
        public void TestGerarDetalheArquivoRemessaSantanderCnab400()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

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

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

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

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

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

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento = "001N002",
                ValorBoleto = Convert.ToDecimal(80.55),
                JurosMora = Convert.ToDecimal(15),
                IdentificadorInternoBoleto = "000000000027",
                //SequencialNossoNumero = "566612457800",
                DataVencimento = new DateTime(2012, 11, 26),
                Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil),
                CodigoOcorrenciaRemessa = new CodigoOcorrencia(01),
            };

            banco.FormatarBoleto(boleto);

            //const int numeroRegistro = 1;

            //var escritor = new EscritorRemessaCnab400Santander();

            //var linhasEscrever = escritor.EscreverDetalhe(boleto, numeroRegistro);

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

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

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

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

            //arquivo.Close();
        }
        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. 6
0
        public void Operacoes()
        {
            var conta = new ContaBancaria();

            conta.Depositar(1000);

            Assert.AreEqual(1000, conta.Saldo);

            // conta.Saldo = double.MaxValue;

            conta.Sacar(1000);

            Assert.AreEqual(0, conta.Saldo);
        }
Esempio n. 7
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. 8
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 BSantanderCalculoLinhaDigitavel()
        {
            /*
            * Teste baseado em um boleto apresentado na documentação oficial do Banco Santander
            */
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

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

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

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

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

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

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

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

            const string valorEsperado = "03399.65451 42400.000065 15200.701025 1 61170000025200";
            Assert.AreEqual(valorEsperado.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.LinhaDigitavelBoleto);
        }
        public void TesteLinhaDigitavelBoletoReal()
        {
            /* Teste baseado em um boleto real, ou seja, boleto válido. */
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

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

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

            var cedente = new Cedente("4295579", 0, "99.999.999/0001-99", "Razao Social Teste Linha Digitável", contaBancariaCedente, null);

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

            var carteira = new CarteiraCobranca();

            carteira.Codigo = "CNR";

            var boleto = new Boleto(carteira, cedente, sacado, remessa);
            boleto.NumeroDocumento = "40156";
            boleto.Moeda = "9";
            boleto.ValorBoleto = 200;
            boleto.CodigoDoProduto = "2";
            boleto.IdentificadorInternoBoleto = "40156";
            boleto.DataVencimento = new DateTime(2012, 11, 15);

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

            var valorEsperado = "39994.29552 79000.000004 40156.320224 1 55180000020000";
            Assert.AreEqual(valorEsperado.Length, boleto.LinhaDigitavelBoleto.Length);
            Assert.AreEqual(valorEsperado, boleto.LinhaDigitavelBoleto);
        }
Esempio n. 11
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);
        }
        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);
        }
Esempio n. 13
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. 14
0
        public void CalcularCodigoBarrasCarteira102Santander()
        {
            /*
             * 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. 15
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);
        }
Esempio n. 16
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. 17
0
        public DadosBancarios()
        {
            var nomes = new List <String> {
                "Isaias", "Maria", "Willian", "Wellignton", "Wuhoschiton", "Araci", "Ariani", "Alcione", "Andréia"
            };

            this.Contas = new List <ContaBancaria>();

            foreach (var nome in nomes)
            {
                var saldo = nome.Length * 2;
                var valor = nome.Length;
                var conta = new ContaBancaria(nome, saldo);

                conta.RealizarSaque(valor, DateTime.Now, "Saque em terminal AA.");
                conta.RealizarDeposito((decimal)(valor * 1.5), DateTime.Now, "Depósito em terminal AA.");

                Contas.Add(conta);
            }
        }
Esempio n. 18
0
        public BancoSantanderCarteira101Tests()
        {
            var contaBancaria = new ContaBancaria
            {
                Agencia                = "1234",
                DigitoAgencia          = "5",
                Conta                  = "12345678",
                DigitoConta            = "9",
                Carteira               = "101",
                TipoCarteira           = TipoCarteira.CarteiraCobrancaSimples,
                TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro,
                TipoImpressaoBoleto    = TipoImpressaoBoleto.Empresa
            };

            _banco = new Banco(033)
            {
                Cedente = Utils.GerarCedente("1234567", "", "123400001234567", contaBancaria)
            };
            _banco.FormataCedente();
        }
Esempio n. 19
0
        public BancoCaixaCarteiraSig14Tests()
        {
            var contaBancaria = new ContaBancaria
            {
                Agencia                = "1234",
                DigitoAgencia          = "X",
                Conta                  = "123456",
                DigitoConta            = "X",
                Carteira               = "SIG14",
                TipoCarteira           = TipoCarteira.CarteiraCobrancaSimples,
                TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro,
                TipoImpressaoBoleto    = TipoImpressaoBoleto.Empresa
            };

            _banco = new Banco(104)
            {
                Cedente = Utils.GerarCedente("123456", "0", "", contaBancaria)
            };
            _banco.FormataCedente();
        }
Esempio n. 20
0
        public Banco237_Bradesco_09()
        {
            var contaBancaria = new ContaBancaria
            {
                Agencia                = "1234",
                DigitoAgencia          = "X",
                Conta                  = "123456",
                DigitoConta            = "X",
                Carteira               = "09",
                TipoCarteira           = TipoCarteira.CarteiraCobrancaSimples,
                TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro,
                TipoImpressaoBoleto    = TipoImpressaoBoleto.Empresa
            };

            banco = new Banco(237)
            {
                Cedente = Utils.GerarCedente("1213141", "", contaBancaria)
            };
            banco.FormataCedente();
        }
Esempio n. 21
0
        public ICommandResult Handle(CriarPagamentoCommand command)
        {
            command.Validate();

            if (command.Invalid)
            {
                return(new CommandResult(false, "Não foi possível efetuar o lançamento"));
            }

            var contaDestino = new ContaBancaria(command.ContaDestino, command.BancoDestino, command.TipoDeConta);
            var pagamento    = new Pagamento(command.Descricao, contaDestino, command.Documento, command.ValorLancamento, command.ValorEncargos, command.DataDeLancamento);

            if (pagamento.Invalid)
            {
                AddNotifications(pagamento.ValidationResult);
                return(new CommandResult(false, "Não foi possível efetuar o lançamento"));
            }
            _repositorioLancamento.InserirPagamento(pagamento);
            return(new CommandResult(true, "Lançamento efetuado com sucesso."));
        }
Esempio n. 22
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. 23
0
        public void CalcularLinhaDigitavelCarteira101Santander()
        {
            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("6432794", 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 = "101"
            };

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

            banco.FormatarBoleto(boleto);

            //Test GOJUR - Sidney 11/12/2018
            const string linhaDigitavel = "03399.64322 79400.000000 14369.301016 1 69740000033700";

            Assert.AreEqual(boleto.LinhaDigitavelBoleto.Length, linhaDigitavel.Length);
            Assert.AreEqual(linhaDigitavel, boleto.LinhaDigitavelBoleto);
        }
Esempio n. 24
0
 private void dgvContas_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex > -1)
     {
         if (e.ColumnIndex == 4)
         {
             try
             {
                 long id = Convert.ToInt64(dgvContas.Rows[e.RowIndex].Cells["CellIdContaBancaria"].Value);
                 this.ContaBancaria = new ContaBancariaController().ListarPorId(id);
                 PreencherDetalhes();
             }
             catch (Exception ex)
             {
                 MessageBox.Show("Problemas o buscar Conta Bancária: " + ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
         }
         else if (e.ColumnIndex == 5)
         {
             try
             {
                 DialogResult result = MessageBox.Show("Deseja realmente exlcuir este item?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                 if (result == DialogResult.Yes)
                 {
                     int id = Convert.ToInt32(dgvContas.Rows[e.RowIndex].Cells["CellIdContaBancaria"].Value);
                     this.ContaBancaria = new ContaBancaria()
                     {
                         IdContaBancaria = id
                     };
                     new ContaBancariaController().Excluir(this.ContaBancaria);
                     LimparDetalhes();
                     BuscarContaBancarias();
                 }
             }
             catch (Exception ex)
             {
                 MessageBox.Show("Problemas o excluir Conta Bancária: " + ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
         }
     }
 }
Esempio n. 25
0
        public BancoCaixaCarteiraSig14Tests()
        {
            var contaBancaria = new ContaBancaria
            {
                Agencia                = "1234",
                DigitoAgencia          = "X",
                Conta                  = "123456",
                DigitoConta            = "X",
                CarteiraPadrao         = "SIG14",
                TipoCarteiraPadrao     = TipoCarteira.CarteiraCobrancaSimples,
                TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro,
                TipoImpressaoBoleto    = TipoImpressaoBoleto.Empresa
            };

            _banco = Banco.Instancia(Bancos.Caixa);
            _banco.Beneficiario = Utils.GerarBeneficiario("123456", "0", "", contaBancaria);

            //para testar com beneficiário 7 digitos
            //_banco.Beneficiario = Utils.GerarBeneficiario("1234567", "", "", contaBancaria);
            _banco.FormataBeneficiario();
        }
        public string realizarSaqueController(int numeroId, double valorSaque)
        {
            ContaBancaria conta = buscaConta(numeroId);

            if (conta != null)
            {
                if (valorSaque > conta.getSaldo())
                {
                    return("Saque não pode ser efetuado, saldo inferior ");
                }
                else
                {
                    conta.setSaldo(conta.getSaldo() - valorSaque);
                    return("Saque efetuado com sucesso");
                }
            }
            else
            {
                return("Conta não cadastrada.");
            }
        }
        public BancoItauCarteira109Tests()
        {
            var contaBancaria = new ContaBancaria
            {
                Agencia                = "1234",
                DigitoAgencia          = "",
                Conta                  = "56789",
                DigitoConta            = "0",
                Carteira               = "109",
                TipoCarteira           = TipoCarteira.CarteiraCobrancaSimples,
                TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro,
                TipoImpressaoBoleto    = TipoImpressaoBoleto.Empresa
            };

            _banco = new Banco(341)
            {
                Cedente = Utils.GerarCedente("", "", "", contaBancaria)
            };

            _banco.FormataCedente();
        }
    public async Task <ActionResult <ContaBancaria> > Post(
        [FromServices] DataContext context,
        [FromBody] ContaBancaria model)
    {
        if (!ModelState.IsValid)
        {
            return(BadRequest(ModelState));
        }

        try
        {
            context.ContaBancaria.Add(model);
            await context.SaveChangesAsync();

            return(Ok(model));
        }
        catch
        {
            return(BadRequest(new { message = "Não foi possivel concluir o cadastro" }));
        }
    }
Esempio n. 29
0
        public void TestSolicitarEmprestimo()
        {
            var conta = new ContaBancaria("23069551825", 100);

            //implementa uma classe fake
            var mock = new Mock <IValidadorCredito>();

            //basicamente efetua a chamada do metodo e estabalece o retorno como [true]
            //It.IsAny<string>()                 => assume qualquer valor como parametro
            //It.Is<decimal>(i => i <= 5000))    => posibilidade de colocar uma condição lambda
            mock.Setup(x => x.ValidarCredito(It.IsAny <string>(), It.Is <decimal>(i => i <= 500))).Returns(true);

            //instancia um mock da sua interface
            conta.SetValidadorCredito(mock.Object);

            var resultadoEsperado = 600;

            conta.SolicitarEmprestimo(500);

            Assert.IsTrue(conta.GetSaldo() == resultadoEsperado);
        }
Esempio n. 30
0
        public BancoBrasilCarteira11019Tests()
        {
            var contaBancaria = new ContaBancaria
            {
                Agencia                = "1234",
                DigitoAgencia          = "X",
                Conta                  = "123456",
                DigitoConta            = "X",
                CarteiraPadrao         = "11",
                VariacaoCarteiraPadrao = "019",
                TipoCarteiraPadrao     = TipoCarteira.CarteiraCobrancaSimples,
                TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro,
                TipoImpressaoBoleto    = TipoImpressaoBoleto.Empresa
            };

            _banco = new Banco(001)
            {
                Cedente = Utils.GerarCedente("1234567", "", "", contaBancaria)
            };
            _banco.FormataCedente();
        }
Esempio n. 31
0
        private static void AbrirConta()
        {
            Console.Clear();
            Console.Write("Informe o saldo inicial: ");

            decimal saldoInicial = decimal.Parse(Console.ReadLine());

            try {
                _contaBancaria = new ContaPremium(saldoInicial);
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
                Console.ReadKey();
                return;
            }


            Console.Clear();
            Console.WriteLine("Conta aberta com sucesso!");
            Console.WriteLine("Pressione qualquer tecla para retornar ao menu...");
            Console.ReadKey();
        }
        public async Task <bool> PostContaAsync(ContaBancaria conta)
        {
            HttpClient httpClient = new HttpClient();

            var json = JsonConvert.SerializeObject(conta);

            HttpContent httpContent = new StringContent(json);

            httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            var result = await httpClient.PostAsync(url, httpContent);

            if (!result.IsSuccessStatusCode)
            {
                throw new Exception("Erro ao incluir dados bancários.");
            }
            else
            {
                return(result.IsSuccessStatusCode);
            }
        }
        public BancoSicoobCarteira101Tests()
        {
            var contaBancaria = new ContaBancaria
            {
                Agencia                = "4277",
                DigitoAgencia          = "3",
                Conta                  = "6498",
                DigitoConta            = "0",
                Carteira               = "1",
                VariacaoCarteira       = "01",
                TipoCarteira           = TipoCarteira.CarteiraCobrancaSimples,
                TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro,
                TipoImpressaoBoleto    = TipoImpressaoBoleto.Empresa
            };

            _banco = new Banco(756)
            {
                Cedente = Utils.GerarCedente("17227", "8", "", contaBancaria)
            };
            _banco.FormataCedente();
        }
Esempio n. 34
0
        public void CalcularCodigoBarrasCarteira101Sicoob()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");
            var banco   = Fabricas.BancoFactory.ObterBanco("756", "0");
            var contaBancariaCedente = new ContaBancaria("5004", "0", "107228", "5");
            var cedente = new Cedente("28796", 2, "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/01"
            };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento            = "106",
                ValorBoleto                = Convert.ToDecimal(465.82),
                IdentificadorInternoBoleto = "106",
                DataVencimento             = new DateTime(2016, 11, 30)
            };

            banco.FormatarBoleto(boleto);

            const string codigoBarras = "75691699400000465821500401028796200001061001";

            Assert.AreEqual(boleto.CodigoBarraBoleto.Length, codigoBarras.Length);
            Assert.AreEqual(codigoBarras, boleto.CodigoBarraBoleto);
            Assert.AreEqual(boleto.CedenteBoleto.CodigoCedenteFormatado, "5004/00287962");
        }
Esempio n. 35
0
        //Primeiro Método para puxar as informações da Conta Bancária e do cliente
        //Retornar em void
        public void InformacoesContaBancariaCliente()
        {
            //Instanciando a classe Conta
            ContaBancaria contaBancaria = new ContaBancaria
            {
                //Preenchendo as informações da conta bancaria
                NomeBanco   = "Bradesco",
                Agencia     = "1105-5",
                NumeroConta = "00000-111",
                Saldo       = 100.00,
                Telefone    = "992354-3333"
            };

            //Instânciando a classe ClienteBanco
            ClienteBanco clienteBanco = new ClienteBanco
            {
                NomeDoCliente = "Milton",
                Documento     = "45498999903",
                Celular       = "995498-0000",
                Idade         = 34
            };

            //Após digitar o número 0, aqui é colocado uma linha em branco
            Console.WriteLine();
            //Título informações do cliente
            Console.WriteLine("**** Informações do cliente *****");
            //Escrevendo as informações do clienteBanco
            Console.WriteLine($"O cliente: {clienteBanco.NomeDoCliente} " + $"com o documento: {clienteBanco.Documento} " + "\n" +
                              $"Com o número do celular: { clienteBanco.Celular} " + $"está com a idade de:  {clienteBanco.Idade} " + "anos.");
            //Console.ReadKey() no fim das informações do cliente.;
            Console.ReadKey();
            //Uma linha em branca para separar as informações do banco.
            Console.WriteLine();
            //Informações da contaBancaria
            Console.WriteLine($"Este cliente é do banco: {contaBancaria.NomeBanco} " + $"da agência: { contaBancaria.Agencia} {contaBancaria.NumeroConta} " + "\n" +
                              $"está com o saldo: {contaBancaria.Saldo} reais.");
            Console.Write($"Em caso haja erros no deposito ligue para: {contaBancaria.Telefone}.");
            //Console.ReadKey no fim das informações da conta bancaria
            Console.ReadKey();
        }
Esempio n. 36
0
        static void Main(string[] args)
        {
            ContaBancaria conta1 = new ContaBancaria();
            string        escolha;

            System.Console.WriteLine("Informe seu nome");
            conta1.Nome = Console.ReadLine();
            System.Console.WriteLine("Informe seu cpf");
            conta1.Cpf = Console.ReadLine();

            do
            {
                System.Console.WriteLine(@"
                Para sacar digite - 1
                Para depositar digite - 2
                Para saber o saldo bancario digite - 3
                Para finalizar digite - 0");
                escolha = Console.ReadLine();
                switch (escolha)
                {
                case "1":
                {
                    conta1.Sacar();
                    break;
                }

                case "2":
                {
                    conta1.Depositar();
                    break;
                }

                case "3":
                {
                    System.Console.WriteLine(conta1.mostraSaldo());
                    break;
                }
                }
            } while (escolha != "0");
        }
Esempio n. 37
0
        public void TesteCalculoNossoNumeroCarteiraRgDocumentacaoCef()
        {
            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 = "RG";

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

            const string valorEsperado = "14000000000000019";

            Assert.AreEqual(valorEsperado.Length, boleto.NossoNumeroFormatado.Length);
            Assert.AreEqual(valorEsperado, boleto.NossoNumeroFormatado);
        }
Esempio n. 38
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);
        }
Esempio n. 39
0
        public void CriarContaBancaria(ContaBancaria contaBancaria)
        {
            using (SqlConnection connection = new SqlConnection(_connectionStringConfig.Default))
            {
                try
                {
                    string query = $@"INSERT INTO {TB_NAME}
                                    (
                                        {COL_IdBanco},
                                        {COL_IdCliente},
                                        {COL_Agencia},
                                        {COL_ContaCorrente},
                                        {COL_Saldo}
                                    )
                                    VALUES
                                    (
                                        {contaBancaria.IdBanco},
                                        {contaBancaria.IdCliente},
                                        '{contaBancaria.Agencia}',
                                        '{contaBancaria.ContaCorrente}',
                                        {contaBancaria.Saldo.ToString().Replace(",", ".")}
                                    )";

                    connection.Open();
                    SqlCommand command = new SqlCommand(query, connection);
                    command.CommandType    = CommandType.Text;
                    command.CommandTimeout = 0;
                    command.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    connection.Dispose();
                    connection.Close();
                }
            }
        }
Esempio n. 40
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
            {
                Codigo = "1",
                Tipo   = "1"
            };

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento            = "37018",
                ValorBoleto                = Convert.ToDecimal(510.35),
                IdentificadorInternoBoleto = "37018",
                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 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. 42
0
        static void Main(string[] args)
        {
            Console.WriteLine("---- Entre com os dados da Conta Bancária -----");
            Console.Write("Número >>> ");
            int nro = int.Parse(Console.ReadLine());

            Console.Write("Titular >>> ");
            string nome = Console.ReadLine();

            Console.Write("Saldo Inicial >>> R$ ");
            double saldo = double.Parse(Console.ReadLine());

            Console.Write("Limite de Saque >>> R$ ");
            double limiteSaque = double.Parse(Console.ReadLine());

            ContaBancaria c = new ContaBancaria(nro, nome, saldo, limiteSaque);

            Console.WriteLine("\n-----------------------------------------------");
            Console.Write("\n Informe o valor para Saque >>> R$ ");
            double valor = double.Parse(Console.ReadLine());

            try
            {
                c.Saca(valor);
                Console.WriteLine($" Novo Saldo >>> R$ {c.Saldo.ToString("F2")}");
            }
            catch (DomainException e)
            {
                Console.WriteLine("ERRO NA OPERAÇÃO: " + e.Message);
            }
            catch (FormatException e)
            {
                Console.WriteLine("ERRO - DADO INVÁLIDO: " + e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("ERRO GENERICO - ENTRE EM CONTATO COM O SUPORTE");
            }
        }
        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 async Task <IActionResult> Update(int id, [FromBody] ContaBancaria conta)
        {
            MegaworksContext _context = new MegaworksContext();

            if (id != conta.ContaId)
            {
                return(BadRequest());
            }

            _context.Entry(conta).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }

            return(NoContent());
        }
Esempio n. 45
0
        public void TesteCalculoNossoNumeroCarteira109BoletoItau()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

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

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

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

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

            var carteira = new CarteiraCobranca();

            carteira.Codigo = "109";

            var boleto = new Boleto(carteira, cedente, sacado, remessa);
            boleto.NumeroDocumento = "12345678";
            boleto.ValorBoleto = 12345;
            boleto.IdentificadorInternoBoleto = "12345678";
            boleto.DataVencimento = new DateTime(2014, 11, 14);

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

            Assert.AreEqual("109/12345678-8", boleto.NossoNumeroFormatado);
        }
        public void TesteCalculoNossoNumeroBoletoReal()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

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

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

            var cedente = new Cedente("4295579", 0, "99.999.999/9999-99", "Razão Social Teste Cálculo Nosso Número Ltda", contaBancariaCedente, null);

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

            var carteira = new CarteiraCobranca();

            carteira.Codigo = "CNR";

            var boleto = new Boleto(carteira, cedente, sacado, remessa);
            boleto.NumeroDocumento = "40156";
            boleto.ValorBoleto = 200;
            boleto.IdentificadorInternoBoleto = "40156";
            boleto.DataVencimento = new DateTime(2012, 11, 15);

            banco.FormataNossoNumero(boleto);

            Assert.AreEqual("0000000040156044", boleto.NossoNumeroFormatado);
        }
Esempio n. 47
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);
        }
Esempio n. 48
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);
        }
Esempio n. 49
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. 50
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);
        }
Esempio n. 51
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);
        }
Esempio n. 52
0
        public void TestGerarTrailerArquivoRemessaItauCnab400()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");

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

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

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

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

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

            var boleto = new Boleto(carteira, cedente, sacado, remessa)
            {
                NumeroDocumento = "1234567",
                ValorBoleto = 12345,
                IdentificadorInternoBoleto = "1234567",
                DataVencimento = new DateTime(2014, 09, 09),
                Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil),
                CodigoOcorrenciaRemessa = new CodigoOcorrencia(01),
                Moeda = "09",
            };

            banco.FormatarBoleto(boleto);

            //const int numeroRegistro = 1;

            //var escritor = new EscritorRemessaCnab400Itau();

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

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

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

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

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

            //arquivo.Close();
        }
        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. 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 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();
        }