Esempio n. 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(5);

        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "5", "12345678", "9");

        c.Codigo = "00000000504";

        Boleto b = new Boleto(vencimento, 45.50m, "18", "12345678901", c);

        b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
        b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
        b.Sacado.Endereco.Bairro = "Testando";
        b.Sacado.Endereco.Cidade = "Testelândia";
        b.Sacado.Endereco.CEP = "70000000";
        b.Sacado.Endereco.UF = "DF";

        //Adiciona as instruções ao boleto
        #region Instruções
        //Protestar
        Instrucao_Banrisul item = new Instrucao_Banrisul(9, 10, 0);
        b.Instrucoes.Add(item);
        #endregion Instruções

        b.NumeroDocumento = "12345678901";

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

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
    }
Esempio n. 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = new DateTime(2003, 5, 15);

        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "2269", "130000946");
        c.Codigo = "1795082";

        Boleto b = new Boleto(vencimento, 0.20m, "101", "566612457800", c);

        //NOSSO NÚMERO
        //############################################################################################################################
        //Número adotado e controlado pelo Cliente, para identificar o título de cobrança.
        //Informação utilizada pelos Bancos para referenciar a identificação do documento objeto de cobrança.
        //Poderá conter número da duplicata, no caso de cobrança de duplicatas, número de apólice, no caso de cobrança de seguros, etc.
        //Esse campo é devolvido no arquivo retorno.
        b.NumeroDocumento = "0282033";

        b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
        b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
        b.Sacado.Endereco.Bairro = "Testando";
        b.Sacado.Endereco.Cidade = "Testelândia";
        b.Sacado.Endereco.CEP = "70000000";
        b.Sacado.Endereco.UF = "DF";

        //Espécie Documento - [R] Recibo
        b.EspecieDocumento = new EspecieDocumento_Santander("17");

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

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
    }
Esempio n. 3
0
        public void FormataCodigoBarra(Boleto boleto)
        {
            // Código de Barras
            //banco & moeda & fator & valor & carteira & nossonumero & dac_nossonumero & agencia & conta & dac_conta & "000"

            string banco = CodigoBanco.PadLeft(3, '0');
            string moeda = boleto.Moeda;
            //string digito = "";
            string valorBoleto = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "");
            valorBoleto = valorBoleto.PadLeft(10, '0');

            string fatorvencimento = Common.FatorVencimento(boleto.DataVencimento).ToString(CultureInfo.InvariantCulture);

            string agencia = Common.Right(boleto.CedenteBoleto.ContaBancariaCedente.Agencia, 3) +
                boleto.CedenteBoleto.ContaBancariaCedente.DigitoAgencia;
            string convenio = boleto.CedenteBoleto.Convenio.PadLeft(4, '0');
            string nossonumero = boleto.IdentificadorInternoBoleto.PadLeft(16, '0');

            /*
             * Conforme documentação técnica do BASA o identificador será sempre '8'.
             * Samuel R. ([email protected])
             */
            const string identificadorsistema = "8";

            boleto.CodigoBarraBoleto = string.Format("{0}{1}{2}{3}",
                banco, moeda, fatorvencimento, valorBoleto);

            boleto.CodigoBarraBoleto += string.Format("{0}{1}{2}{3}",
                agencia, convenio, nossonumero, identificadorsistema);

            _dacBoleto = Mod11_CodigoBarra(boleto.CodigoBarraBoleto, 9);

            boleto.CodigoBarraBoleto = Common.Left(boleto.CodigoBarraBoleto, 4) + _dacBoleto +
                                        Common.Right(boleto.CodigoBarraBoleto, 39);
        }
        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. 5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(5);

       
        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "4444", "", "", "");

        c.Codigo = "123456"; 
        c.DigitoCedente = 7;
        c.Carteira = "1";

        Boleto b = new Boleto(vencimento, 10, "1", "897654321", c);
        b.NumeroDocumento = "119964";

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

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

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
    }
Esempio n. 6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = new DateTime(2007,12,20);//DateTime.Now.AddDays(1);

        Instrucao_Sicredi item1 = new Instrucao_Sicredi(9, 5);
        Instrucao_Sicredi item2 = new Instrucao_Sicredi();

        Cedente c = new Cedente("10.823.650/0001-90", "SAFIRALIFE", "0165", "9", "00623","2","02");
        c.Codigo = "13000";

        Boleto b = new Boleto(vencimento, 0.1m, "112", "07200004", c);
        b.NumeroDocumento = "00000001";

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

        // Exemplo de como adicionar mais informações ao sacado
        b.Sacado.InformacoesSacado.Add(new InfoSacado("TÍTULO: " + "2541245"));

        item2.Descricao += " " + item1.QuantidadeDias.ToString() + " dias corridos do vencimento.";
        b.Instrucoes.Add(item1);

        b.EspecieDocumento = new EspecieDocumento_Sicredi("A");
        b.Aceite = "S";
        b.ValorBoleto = 150.35m;
        boletoBancario.Boleto = b;
        boletoBancario.Boleto.Valida();

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
        boletoBancario.FormatoCarne = (Request.Url.Query == "?formatocarne");
    }
Esempio n. 7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(5);

        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "1234", "5", "12345678", "9");

        c.Codigo = "12548";

        Boleto b = new Boleto(vencimento, 45.50m, "CNR", "125478", c);

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


        b.NumeroDocumento = "12345678901";

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

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
    }
Esempio n. 8
0
    protected BoletoBancario PreparaBoleto()
    {
        DateTime vencimento = new DateTime(2007, 9, 10);

        Instrucao_Itau item1 = new Instrucao_Itau(9, 5);
        Instrucao_Itau item2 = new Instrucao_Itau(81, 10);
        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0542", "13000");
        //Na carteira 198 o código do Cedente é a conta bancária
        c.Codigo = "13000";

        Boleto b = new Boleto(vencimento, 1642, "198", "92082835", c);
        b.NumeroDocumento = "1008073";

        b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
        b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
        b.Sacado.Endereco.Bairro = "Testando";
        b.Sacado.Endereco.Cidade = "Testelândia";
        b.Sacado.Endereco.CEP = "70000000";
        b.Sacado.Endereco.UF = "DF";

        item2.Descricao += " " + item2.QuantidadeDias.ToString() + " dias corridos do vencimento.";
        b.Instrucoes.Add(item1);
        b.Instrucoes.Add(item2);



        BoletoBancario itau = new BoletoBancario();
        itau.CodigoBanco = 341;
        itau.Boleto = b;

        return itau;
    }
Esempio n. 9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(5);

        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0542", "5413000");

        c.Codigo = "13000";

        Boleto b = new Boleto(vencimento, 1642, "198", "02592082835", c);
        b.NumeroDocumento = "1008073";

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

        //b.Instrucoes.Add("Não Receber após o vencimento");
        //b.Instrucoes.Add("Após o Vencimento pague somente no Bradesco");
        //b.Instrucoes.Add("Instrução 2");
        //b.Instrucoes.Add("Instrução 3");

        Instrucao_Safra instrucao = new Instrucao_Safra();
        instrucao.Descricao = "Instrução 1";

        b.Instrucoes.Add(instrucao);


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

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
    }
Esempio n. 10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(5);

        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0501", "6703255");

        c.Codigo = "13000";

        //Nosso número com 7 dígitos
        string nn = "0003020";
        //Nosso número com 13 dígitos
        //nn = "0000000003025";

        Boleto b = new Boleto(vencimento, 1642, "198", nn, c);// EnumEspecieDocumento_Sudameris.DuplicataMercantil);
        b.NumeroDocumento = "1008073";

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

        //b.Instrucoes.Add("Não Receber após o vencimento");
        //b.Instrucoes.Add("Após o Vencimento pague somente no Sudameris");
        //b.Instrucoes.Add("Instrução 2");
        //b.Instrucoes.Add("Instrução 3");

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

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
    }
Esempio n. 11
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. 12
0
        public HeaderRemessaCnab400(Boleto boleto, int numeroSequencialRemessa, int numeroSequencialRegistro,
            DateTime? dataHora = null)
        {
            this.CodigoBanco = boleto.BancoBoleto.CodigoBanco;
            this.Agencia = boleto.CedenteBoleto.ContaBancariaCedente.Agencia;
            this.DvAgencia = boleto.CedenteBoleto.ContaBancariaCedente.DigitoAgencia;
            this.ContaCorrente = boleto.CedenteBoleto.ContaBancariaCedente.Conta;
            this.DvContaCorrente = boleto.CedenteBoleto.ContaBancariaCedente.DigitoConta;
            this.CodigoEmpresa = boleto.CedenteBoleto.CodigoCedente;
            this.NomeEmpresa = boleto.CedenteBoleto.Nome;
            this.NumeroSequencialRemessa = numeroSequencialRemessa;
            this.NumeroSequencialRegistro = numeroSequencialRegistro;

            if (dataHora == null)
                this.DataDeGravacao = DateTime.Now;
            else
                this.DataDeGravacao = (DateTime) dataHora;

            #region #033|SANTANDER

            // Informação cedida pelo banco que identifica o arquivo remessa do cliente
            this.CodigoDeTransmissao = boleto.CodigoDeTransmissao;

            #endregion
        }
Esempio n. 13
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(5); 

        Cedente c = new Cedente("00.000.000/0000-00", "Coloque a Razão Social da sua empresa aqui", "1234", "12345");
        c.Codigo = "12345";

        Boleto b = new Boleto(vencimento, 0.1m, "57", "123456", c, new EspecieDocumento(356, "9"));
        b.NumeroDocumento = "1234567";

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

        //b.Instrucoes.Add("Não Receber após o vencimento");
        //b.Instrucoes.Add("Após o Vencimento pague somente no Real");
        //b.Instrucoes.Add("Instrução 2");
        //b.Instrucoes.Add("Instrução 3");
        real.Boleto = b;

        EspeciesDocumento ed = EspecieDocumento_Real.CarregaTodas();

        real.Boleto.Valida();

        real.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
    }
        public ActionResult PostFormUpdateBasket(Boleto boleto)
        {
            try
            {
                var boletoDB = db.Boleto.FirstOrDefault();

                boletoDB.merchant_id = boleto.merchant_id;
                boletoDB.cedente = boleto.cedente;

                boletoDB.order_id = boleto.order_id;
                boletoDB.banco = boleto.banco;
                boletoDB.numero_agencia = boleto.numero_agencia;
                boletoDB.numero_conta = boleto.numero_conta;
                boletoDB.url_logo_lojista = boleto.url_logo_lojista;
                boletoDB.mensagem_header_lojista = boleto.mensagem_header_lojista;
                boletoDB.numero_pedido = boleto.numero_pedido;
                boletoDB.ano_nosso_numero = boleto.ano_nosso_numero;
                boletoDB.cpf_sacado = boleto.cpf_sacado;

                db.SaveChanges();

                String numeroPedido = boleto.order_id;
                ViewBag.numeroPedido = numeroPedido;

            }
            catch (Exception e)
            {
                ViewBag.ResultadoOperacao = "Erro ao realizar operacao: " + e.Message.ToString();
            }

            return View("FormBoleto");
        }
Esempio n. 15
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(5);

        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "208", "", "010357", "6");
        c.Codigo = "13000";

        Boleto b = new Boleto(vencimento, 0.01m, "COB", "119964", c);
        b.NumeroDocumento = "119964";

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

        //b.Instrucoes.Add("Não Receber após o vencimento");
        //b.Instrucoes.Add("Após o Vencimento pague somente no Bradesco");
        //b.Instrucoes.Add("Instrução 2");
        //b.Instrucoes.Add("Instrução 3");

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

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
    }
Esempio n. 16
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(5);

        Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "2269", "130000946");
        c.Codigo = "1795082";

        Boleto b = new Boleto(vencimento, 0.20m, "101", "566612457800", c);

        #region Adiciona Instruções somente no Cedente
        IInstrucao instrucao = new Instrucao(33);

        instrucao.Descricao = "Não esqueça de fazer uma doação ao projeto - Cedente";

        c.Instrucoes.Add(instrucao);
        #endregion

        //NOSSO NÚMERO
        //############################################################################################################################
        //Número adotado e controlado pelo Cliente, para identificar o título de cobrança.
        //Informação utilizada pelos Bancos para referenciar a identificação do documento objeto de cobrança.
        //Poderá conter número da duplicata, no caso de cobrança de duplicatas, número de apólice, no caso de cobrança de seguros, etc.
        //Esse campo é devolvido no arquivo retorno.
        b.NumeroDocumento = "0282033";

        b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
        b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
        b.Sacado.Endereco.Bairro = "Testando";
        b.Sacado.Endereco.Cidade = "Testelândia";
        b.Sacado.Endereco.CEP = "70000000";
        b.Sacado.Endereco.UF = "DF";

        #region Adiciona Instruções somente no Sacado
        IInstrucao instrucaoSacado = new Instrucao(33);

        instrucaoSacado.Descricao = "Não esqueça de fazer uma doação ao projeto - Sacado";

        b.Sacado.Instrucoes.Add(instrucaoSacado);
        #endregion

        #region Adiciona Instruções comuns - Cedente e Sacado
        IInstrucao instrucaoComum = new Instrucao(33);

        instrucaoComum.Descricao = "Instrução Comum - Cedente/Sacado";

        b.Instrucoes.Add(instrucaoComum);
        #endregion


        //Espécie Documento - [R] Recibo
        b.EspecieDocumento = new EspecieDocumento_Santander("17");

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

        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");      
        
    }
Esempio n. 17
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 DetalheRemessaCnab240(Boleto boleto, int numeroRegistroNoLote)
 {
     SegmentoP = new DetalheSegmentoPRemessaCnab240(boleto, numeroRegistroNoLote);
     SegmentoQ = new DetalheSegmentoQRemessaCnab240(boleto, numeroRegistroNoLote);
     SegmentoR = new DetalheSegmentoRRemessaCnab240();
     SegmentoS = new DetalheSegmentoSRemessaCnab240();
     SegmentoY = new DetalheSegmentoYRemessaCnab240();
     SegmentoY08 = new DetalheSegmentoY08RemessaCnab240();
 }
 public HeaderRemessaCnab240(Boleto boleto, int sequencialArquivo)
 {
     this.CodigoBanco = boleto.BancoBoleto.CodigoBanco;
     this.NumeroInscricao = boleto.CedenteBoleto.CpfCnpj;
     this.AgenciaMantenedora = boleto.CedenteBoleto.ContaBancariaCedente.Agencia;
     this.DigitoAgenciaMantenedora = boleto.CedenteBoleto.ContaBancariaCedente.DigitoAgencia;
     this.CodigoCedente = boleto.CedenteBoleto.CodigoCedente;
     this.NomeEmpresa = boleto.CedenteBoleto.Nome;
     this.SequencialNsa = sequencialArquivo;
 }
        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. 21
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime vencimento = DateTime.Now.AddDays(1);

        Instrucao_Itau item1 = new Instrucao_Itau(9, 5);
        Instrucao_Itau item2 = new Instrucao_Itau(81, 10);
        Cedente c = new Cedente("10.823.650/0001-90", "SAFIRALIFE", "4406", "22324");
        //Na carteira 198 o código do Cedente é a conta bancária
        c.Codigo = "13000";

        //Mostrar endereço do Cedente
        //c.Endereco = new Endereco();
        //c.Endereco.End = "SQN 416 Bloco M Ap 132";
        //c.Endereco.Bairro = "Asa Norte";
        //c.Endereco.CEP = "70879110";
        //c.Endereco.Cidade = "Brasília";
        //c.Endereco.UF = "DF";

        //boletoBancario.MostrarEnderecoCedente = true;

        Boleto b = new Boleto(vencimento, 0.1m, "176", "00000001", c, new EspecieDocumento(341, "1"));
        b.NumeroDocumento = "00000001";

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

        // Exemplo de como adicionar mais informações ao sacado
        b.Sacado.InformacoesSacado.Add(new InfoSacado("TÍTULO: " + "2541245"));

        item2.Descricao += " " + item2.QuantidadeDias.ToString() + " dias corridos do vencimento.";
        b.Instrucoes.Add(item1);
        b.Instrucoes.Add(item2);

        // juros/descontos

        if (b.ValorDesconto == 0)
        {
            Instrucao_Itau item3 = new Instrucao_Itau(999, 1);
            item3.Descricao += ("1,00 por dia de antecipação.");
            b.Instrucoes.Add(item3);
        }


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

        //boletoBancario.MostrarCodigoCarteira = true;
        boletoBancario.MostrarComprovanteEntrega = (Request.Url.Query == "?show");
        boletoBancario.FormatoCarne = (Request.Url.Query == "?formatocarne");
    }
 public HeaderLoteRemessaCnab240(Boleto boleto, int sequencialRemessa)
 {
     this.CodigoBanco = boleto.BancoBoleto.CodigoBanco;
     this.NumeroInscricao = boleto.CedenteBoleto.CpfCnpj;
     this.Agencia = boleto.CedenteBoleto.ContaBancariaCedente.Agencia;
     this.DigitoAgencia = boleto.CedenteBoleto.ContaBancariaCedente.DigitoAgencia;
     this.CodigoCedente = boleto.CedenteBoleto.CodigoCedente;
     this.Convenio = boleto.CedenteBoleto.Convenio;
     this.NomeEmpresa = boleto.CedenteBoleto.Nome;
     this.NumeroRemessaRetorno = sequencialRemessa.ToString();
 }
Esempio n. 23
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();
        }
 string bltPag_MontaCampoLivre(Boleto blt)
 {
     // obtem apenas o numero da conta sem o digito
     // executa a função de customização
     return meuBanco_Real.MeuCampoLivre(blt, blt.Agencia, blt.Conta.Split('-')[0], blt.NossoNumero);
     
     //A chamada abaixo comentada é o que existe dentro do componente (disponível somente nos fontes)
     //as várias rotianas abertas de cada banco
     //return Banco_Real.CampoLivre(blt, blt.Agencia, blt.Conta.Split('-')[0], blt.NossoNumero);
     
 }
 public DetalheFrenteRemessaCnab400(Boleto boleto, string codigoFlash, int nroUltimaLinha, int numeroSequencialRegistro)
 {
     this.CodigoFlash = codigoFlash;
     this.NroLinha1 = nroUltimaLinha;
     this.ConteudoLinha1 = boleto.InstrucoesDoBoleto.GetRange(0, 1).ToString();
     this.NroLinha2 = nroUltimaLinha + 1;
     this.ConteudoLinha2 = boleto.InstrucoesDoBoleto.GetRange(1, 1).ToString();
     this.NroLinha3 = nroUltimaLinha + 2;
     this.ConteudoLinha3 = boleto.InstrucoesDoBoleto.GetRange(2, 1).ToString();
     this.NumeroSequencialRegistro = numeroSequencialRegistro;
 }
        public DetalheRemessaCnab400(Boleto boleto, int numeroSequencialRegistro)
        {
            this.CodigoBanco = boleto.BancoBoleto.CodigoBanco;
            this.CarteiraCobranca = boleto.CarteiraCobranca.Codigo;
            this.InscricaoCedente = boleto.CedenteBoleto.CpfCnpj;
            this.CodigoOcorrencia = boleto.CodigoOcorrenciaRemessa;
            this.Agencia = boleto.CedenteBoleto.ContaBancariaCedente.Agencia;
            this.DvAgencia = boleto.CedenteBoleto.ContaBancariaCedente.DigitoAgencia;
            this.ContaCorrente = boleto.CedenteBoleto.ContaBancariaCedente.Conta;
            this.DvContaCorrente = boleto.CedenteBoleto.ContaBancariaCedente.DigitoConta;
            this.CodigoCedente = boleto.CedenteBoleto.CodigoCedente;
            this.RazaoContaCorrente = boleto.CedenteBoleto.Nome;
            this.NossoNumero = boleto.IdentificadorInternoBoleto;
            this.DvNossoNumero = boleto.DigitoNossoNumero;
            this.NossoNumeroFormatado = boleto.NossoNumeroFormatado;
            this.NumeroDocumento = boleto.NumeroDocumento;
            this.DataVencimento = boleto.DataVencimento;
            this.ValorBoleto = boleto.ValorBoleto;
            this.Especie = boleto.Especie;
            this.Aceite = boleto.Aceite;
            this.DataEmissao = boleto.DataDocumento;
            this.ValorDesconto = Convert.ToDecimal(boleto.ValorDesconto).Equals(null) ? 0 : Convert.ToDecimal(boleto.ValorDesconto);
            this.ValorIof = Convert.ToDecimal(boleto.Iof).Equals(null) ? 0 : Convert.ToDecimal(boleto.Iof);
            this.ValorAbatimento = Convert.ToDecimal(boleto.ValorAbatimento).Equals(null) ? 0 : Convert.ToDecimal(boleto.ValorAbatimento);
            this.InscricaoPagador = boleto.SacadoBoleto.CpfCnpj;
            this.NomePagador = boleto.SacadoBoleto.Nome;
            this.EnderecoPagador = boleto.SacadoBoleto.EnderecoSacado.LogradouroNumeroComplementoConcatenado;
            this.BairroPagador = boleto.SacadoBoleto.EnderecoSacado.Bairro;
            this.CidadePagador = boleto.SacadoBoleto.EnderecoSacado.Cidade;
            this.UfPagador = boleto.SacadoBoleto.EnderecoSacado.SiglaUf;
            this.CepPagador = boleto.SacadoBoleto.EnderecoSacado.Cep;
            this.NumeroSequencialRegistro = numeroSequencialRegistro;
            this.Moeda = boleto.Moeda;
            this.QuantidadeMoeda = Convert.ToDecimal(boleto.QuantidadeMoeda).Equals(null) ? 0 : Convert.ToDecimal(boleto.QuantidadeMoeda);
            this.DataJurosMora = boleto.DataJurosMora;
            this.Instrucoes = boleto.InstrucoesDoBoleto;
            this.TipoCobrancaJuro = boleto.TipoCobrancaJuro;
            //this.MensagemLinha1 = boleto.InstrucoesDoBoleto.ElementAt(0).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(0).TextoInstrucao;
            //this.MensagemLinha2 = boleto.InstrucoesDoBoleto.ElementAt(1).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(1).TextoInstrucao;
            //this.MensagemLinha3 = boleto.InstrucoesDoBoleto.ElementAt(2).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(2).TextoInstrucao;
            //this.MensagemLinha4 = boleto.InstrucoesDoBoleto.ElementAt(3).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(3).TextoInstrucao;
            //this.MensagemLinha5 = boleto.InstrucoesDoBoleto.ElementAt(4).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(4).TextoInstrucao;
            //this.MensagemLinha6 = boleto.InstrucoesDoBoleto.ElementAt(5).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(5).TextoInstrucao;

            #region #033|SANTADER

            // Informação cedida pelo banco que identifica o arquivo remessa do cliente
            this.CodigoDeTransmissao = boleto.CodigoDeTransmissao;
            this.DataDesconto = boleto.DataDesconto;
            this.NroDiasParaProtesto = boleto.QtdDias;

            #endregion
        }
Esempio n. 27
0
        private Boleto GerarBoletoCarteira109()
        {
            DateTime vencimento = new DateTime(2012, 12, 6);

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

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

            boleto.NumeroDocumento = "20063";

            return boleto;
        }
 public DetalheSegmentoQRemessaCnab240(Boleto boleto, int numeroRegistroNoLote)
 {
     this.CodigoBanco = boleto.BancoBoleto.CodigoBanco;
     this.NumeroRegistro = numeroRegistroNoLote;
     this.CodigoOcorrencia = boleto.CodigoOcorrenciaRemessa;
     this.NumeroInscricaoSacado = boleto.SacadoBoleto.CpfCnpj;
     this.NomeSacado = boleto.SacadoBoleto.Nome;
     this.EnderecoSacado = boleto.SacadoBoleto.EnderecoSacado.LogradouroNumeroComplementoConcatenado;
     this.BairroSacado = boleto.SacadoBoleto.EnderecoSacado.Bairro;
     this.CepSacado = boleto.SacadoBoleto.EnderecoSacado.Cep;
     this.CidadeSacado = boleto.SacadoBoleto.EnderecoSacado.Cidade;
     this.UfSacado = boleto.SacadoBoleto.EnderecoSacado.SiglaUf;
 }
Esempio n. 29
0
        private BoletoBancario GerarBoletoCarteira16()
        {
            var vencimento = new DateTime(2015, 7, 20);
            var cedente = new Cedente("00.000.000/0000-00", "Empresa Teste", "0413", "8", "0002916", "5");
            var boleto = new Boleto(vencimento, 123, "16", "00970171092", cedente);
            boleto.NumeroDocumento = "970171092";

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

            return boletoBancario;
        }
Esempio n. 30
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="loteContainer">Lote onde serão adicionados os lançamentos</param>
        /// <param name="boletoAdicionar">Boleto que será detalhado nos detalhes de segmento</param>
        /// <param name="reg1">Primeiro registro detalhe do boleto - SEGMENTO P</param>
        /// <param name="reg2">Segundo registro detalhe do boleto - SEGMENTO Q</param>
        /// <returns></returns>
        public DetalheRemessaCnab240 AdicionarBoletoAoLote(LoteRemessaCnab240 loteContainer, Boleto boletoAdicionar, int contador, int reg1, int reg2)
        {
            var detalheRemessaAdd = new DetalheRemessaCnab240(boletoAdicionar, contador);
            var numeroRegistroNoLote = 0;

            numeroRegistroNoLote = reg1;
            detalheRemessaAdd.SegmentoP = new DetalheSegmentoPRemessaCnab240(boletoAdicionar, numeroRegistroNoLote);
            numeroRegistroNoLote = reg2;
            detalheRemessaAdd.SegmentoQ = new DetalheSegmentoQRemessaCnab240(boletoAdicionar, numeroRegistroNoLote);

            loteContainer.RegistrosDetalheSegmentos.Add(detalheRemessaAdd);

            return detalheRemessaAdd;
        }
Esempio n. 31
0
        public void FormataCodigoBarra(Boleto boleto)
        {
            boleto.Moeda = MoedaBanco;

            try
            {
                /* Preenche com 0´s a esquerda
                 * 10 caracteres
                 */
                string valorBoletoTexto =
                    boleto.ValorBoleto.ToString("f")
                    .Replace(",", "")
                    .Replace(".", "")
                    .PadLeft(10, '0');

                string codigoBarraSemDigitoVerificador = null;

                if (boleto.CarteiraCobranca.Codigo == "CSB")
                {
                    codigoBarraSemDigitoVerificador =
                        String.Format("{0}{1}{2}{3}{4}{5}{6}001",
                                      CodigoBanco,
                                      boleto.Moeda,
                                      //9999 --> 21/02/2025
                                      Common.FatorVencimento(boleto.DataVencimento),
                                      valorBoletoTexto,
                                      boleto.NossoNumeroFormatado + boleto.DigitoNossoNumero,
                                      boleto.CedenteBoleto.ContaBancariaCedente.Agencia.PadLeft(4, '0'),
                                      boleto.CedenteBoleto.ContaBancariaCedente.Conta.PadLeft(7, '0')
                                      );
                }
                if (boleto.CarteiraCobranca.Codigo == "CNR")
                {
                    codigoBarraSemDigitoVerificador =
                        String.Format("{0}{1}{2}{3}{4}{5}{6}2",
                                      CodigoBanco,
                                      boleto.Moeda,
                                      //9999 --> 21/02/2025
                                      Common.FatorVencimento(boleto.DataVencimento),
                                      valorBoletoTexto,
                                      boleto.CedenteBoleto.CodigoCedente.PadLeft(7, '0'),
                                      boleto.IdentificadorInternoBoleto.PadLeft(13, '0'),
                                      (boleto.DataVencimento.DayOfYear +
                                       boleto.DataVencimento.ToString("yy").Substring(1, 1)).PadLeft(4, '0')
                                      );
                }

                /*
                 * 1. Calcula dígito de auto conferência
                 * 2. Insere no meio do código de barras
                 * 3. Atribui ao boleto
                 */

                _digitoAutoConferenciaCodigoBarras = Common.Mod11(codigoBarraSemDigitoVerificador, 9, 0);

                var codigoBarraComDigitoVerificador = Common.Left(codigoBarraSemDigitoVerificador, 4) +
                                                      _digitoAutoConferenciaCodigoBarras +
                                                      Common.Right(codigoBarraSemDigitoVerificador, 39);

                boleto.CodigoBarraBoleto = codigoBarraComDigitoVerificador;
            }
            catch (Exception ex)
            {
                throw new Exception("Falha ao formatar código de barras.", ex);
            }
        }
    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            //Remove dígito da Agência.
            int DigAgencia = 0;
            int Agencia    = 0;
            if (txtAgenciaCedente.Text.IndexOf("-") > -1)
            {
                int s   = txtAgenciaCedente.Text.IndexOf("-") + 1;
                int tam = Strings.Len(txtAgenciaCedente.Text);
                DigAgencia = Convert.ToInt32(Strings.Right(txtAgenciaCedente.Text, tam - s));
                int dif = tam - (s - 1);
                //incluindo o traço.
                Agencia = Convert.ToInt32(Strings.Left(txtAgenciaCedente.Text, tam - dif));
            }
            //txtAgenciaCedente.Text

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

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


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

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

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


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


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


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


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

            case "033":
                //Santander.
                break;

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

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

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

            case "275":
                //Banco Real.

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

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


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

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

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

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


                break;

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

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

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

            case "356":
                //Banco Real.

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


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


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

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

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

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


                break;

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

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

            default:

                break;
            }


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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



            return;
        }
        catch (Exception ex)
        {
            Response.Write(ex);
        }
    }
        public DetalheRemessaCnab400(Boleto boleto, int numeroSequencialRegistro)
        {
            this.CodigoBanco      = boleto.BancoBoleto.CodigoBanco;
            this.CarteiraCobranca = boleto.CarteiraCobranca.Codigo;
            Variacao = boleto.CarteiraCobranca.Variacao;
            this.InscricaoCedente = boleto.CedenteBoleto.CpfCnpj;
            this.CodigoOcorrencia = boleto.CodigoOcorrenciaRemessa;
            this.Agencia          = boleto.CedenteBoleto.ContaBancariaCedente.Agencia;
            this.DvAgencia        = boleto.CedenteBoleto.ContaBancariaCedente.DigitoAgencia;
            this.ContaCorrente    = boleto.CedenteBoleto.ContaBancariaCedente.Conta;
            this.DvContaCorrente  = boleto.CedenteBoleto.ContaBancariaCedente.DigitoConta;
            Convenio                  = boleto.CedenteBoleto.Convenio;
            this.CodigoCedente        = boleto.CedenteBoleto.CodigoCedente;
            this.RazaoContaCorrente   = boleto.CedenteBoleto.Nome;
            this.NossoNumero          = boleto.IdentificadorInternoBoleto;
            this.DvNossoNumero        = boleto.DigitoNossoNumero;
            this.NossoNumeroFormatado = boleto.NossoNumeroFormatado;
            this.NumeroDocumento      = boleto.NumeroDocumento;
            this.DataVencimento       = boleto.DataVencimento;
            this.ValorBoleto          = boleto.ValorBoleto;
            this.Especie              = boleto.Especie;
            this.Aceite               = boleto.Aceite;
            this.DataEmissao          = boleto.DataDocumento;
            this.ValorDesconto        = Convert.ToDecimal(boleto.ValorDesconto).Equals(null)
                ? 0
                : Convert.ToDecimal(boleto.ValorDesconto);
            this.ValorIof        = Convert.ToDecimal(boleto.Iof).Equals(null) ? 0 : Convert.ToDecimal(boleto.Iof);
            this.ValorAbatimento = Convert.ToDecimal(boleto.ValorAbatimento).Equals(null)
                ? 0
                : Convert.ToDecimal(boleto.ValorAbatimento);
            this.InscricaoPagador         = boleto.SacadoBoleto.CpfCnpj;
            this.NomePagador              = boleto.SacadoBoleto.Nome;
            this.EnderecoPagador          = boleto.SacadoBoleto.EnderecoSacado.LogradouroNumeroComplementoConcatenado;
            this.BairroPagador            = boleto.SacadoBoleto.EnderecoSacado.Bairro;
            this.CidadePagador            = boleto.SacadoBoleto.EnderecoSacado.Cidade;
            this.UfPagador                = boleto.SacadoBoleto.EnderecoSacado.SiglaUf;
            this.CepPagador               = boleto.SacadoBoleto.EnderecoSacado.Cep;
            this.NumeroSequencialRegistro = numeroSequencialRegistro;
            this.Moeda           = boleto.Moeda;
            this.QuantidadeMoeda = Convert.ToDecimal(boleto.QuantidadeMoeda).Equals(null)
                ? 0
                : Convert.ToDecimal(boleto.QuantidadeMoeda);
            this.DataJurosMora    = boleto.DataJurosMora;
            this.Instrucoes       = boleto.InstrucoesDoBoleto;
            this.TipoCobrancaJuro = boleto.TipoCobrancaJuro;
            PercentualMulta       = boleto.PercentualMulta.BoletoBrToStringSafe().BoletoBrToDecimal();
            ValorMoraDia          = boleto.PercentualJurosMora.BoletoBrToStringSafe().BoletoBrToDecimal();
            TipoCarteiraCobranca  = boleto.CarteiraCobranca.Tipo;
            BancoEmiteBoleto      = boleto.CarteiraCobranca.BancoEmiteBoleto;

            //this.MensagemLinha1 = boleto.InstrucoesDoBoleto.ElementAt(0).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(0).TextoInstrucao;
            //this.MensagemLinha2 = boleto.InstrucoesDoBoleto.ElementAt(1).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(1).TextoInstrucao;
            //this.MensagemLinha3 = boleto.InstrucoesDoBoleto.ElementAt(2).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(2).TextoInstrucao;
            //this.MensagemLinha4 = boleto.InstrucoesDoBoleto.ElementAt(3).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(3).TextoInstrucao;
            //this.MensagemLinha5 = boleto.InstrucoesDoBoleto.ElementAt(4).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(4).TextoInstrucao;
            //this.MensagemLinha6 = boleto.InstrucoesDoBoleto.ElementAt(5).TextoInstrucao.Equals(null) ? "" : boleto.InstrucoesDoBoleto.ElementAt(5).TextoInstrucao;

            #region #033|SANTADER

            // Informação cedida pelo banco que identifica o arquivo remessa do cliente
            this.CodigoDeTransmissao = boleto.CodigoDeTransmissao;
            this.DataDesconto        = boleto.DataDesconto;
            this.NroDiasParaProtesto = boleto.QtdDias;

            #endregion
        }
Esempio n. 34
0
 public ReciboLateralCarne(Boleto boleto, byte[] logo)
 {
     this.logo   = logo;
     this.boleto = boleto;
 }
Esempio n. 35
0
        public string BoletoGenGet(Guid InstitutionId, Guid userId)
        {
            var inst = _institutionRepository.SelectInstitution(InstitutionId);
            var user = _userRepository.SelectUser(userId);

            //Cedente
            string path       = $"C:\\Users\\caiot\\Documents";
            var    objBoletos = new Boletos();

            objBoletos.Banco                 = Banco.Instancia(inst.BankCode);
            objBoletos.Banco.Cedente         = new Cedente();
            objBoletos.Banco.Cedente.CPFCNPJ = inst.CNPJ.Replace(" ", "");
            objBoletos.Banco.Cedente.Nome    = inst.Name;
            //objBoletos.Banco.Cedente.Observacoes = "Pague isso logo cara!";

            var conta = new ContaBancaria();

            conta.Agencia       = inst.BankAgency.ToString();
            conta.DigitoAgencia = inst.BankAgencyDigit.ToString();
            conta.OperacaoConta = string.Empty;
            conta.DigitoConta   = inst.BankAccountDigit.ToString();
            switch (inst.BankCode)
            {
            case 041:
                conta.CarteiraPadrao = "1";
                break;

            case 237:
                conta.CarteiraPadrao = "09";
                break;

            case 104:
                conta.CarteiraPadrao = "SIG14";
                break;

            case 341:
                conta.CarteiraPadrao         = "109";
                conta.VariacaoCarteiraPadrao = "112";
                break;

            case 422:
                conta.CarteiraPadrao = "1";
                break;

            case 033:
                conta.CarteiraPadrao = "101";
                break;

            case 756:
                conta.CarteiraPadrao         = "1";
                conta.VariacaoCarteiraPadrao = "01";
                break;

            case 748:
                conta.CarteiraPadrao         = "1";
                conta.VariacaoCarteiraPadrao = "A";
                break;
            }
            conta.TipoCarteiraPadrao     = TipoCarteira.CarteiraCobrancaSimples;
            conta.TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro;
            conta.TipoImpressaoBoleto    = TipoImpressaoBoleto.Empresa;
            conta.TipoDocumento          = TipoDocumento.Tradicional;

            var ender = new Endereco();

            ender.LogradouroEndereco    = inst.Adress;
            ender.LogradouroComplemento = inst.AdressComplement;
            ender.Bairro = inst.Neighborhood;
            ender.Cidade = inst.City;
            ender.UF     = "SP";
            ender.CEP    = inst.ZIP;

            objBoletos.Banco.Cedente.Codigo            = "60063";
            objBoletos.Banco.Cedente.CodigoDV          = "6";
            objBoletos.Banco.Cedente.CodigoTransmissao = "000000";
            objBoletos.Banco.Cedente.ContaBancaria     = conta;
            objBoletos.Banco.Cedente.Endereco          = ender;

            objBoletos.Banco.FormataCedente();


            var Titulo = new Boleto(objBoletos.Banco);

            Titulo.Sacado = new Sacado()
            {
                CPFCNPJ  = "03861018250",
                Endereco = new Endereco()
                {
                    Bairro                = inst.Neighborhood,
                    CEP                   = inst.ZIP,
                    Cidade                = inst.City,
                    LogradouroEndereco    = inst.Adress,
                    LogradouroNumero      = "596",
                    LogradouroComplemento = inst.AdressComplement,
                    UF = "SP"
                },
                Nome        = user.Name,
                Observacoes = "Pagar com urgênica para não ser protestado"
            };
            Titulo.CodigoOcorrencia           = "01";
            Titulo.DescricaoOcorrencia        = "Remessa Registrar";
            Titulo.NossoNumero                = 1.ToString();
            Titulo.NumeroControleParticipante = "12";
            Titulo.NossoNumero                = "123456" + 1.ToString();
            Titulo.DataEmissao                = DateTime.Now;
            Titulo.DataVencimento             = DateTime.Now.AddDays(15);
            Titulo.ValorTitulo                = 200.0M;
            Titulo.Aceite           = "N";
            Titulo.EspecieDocumento = TipoEspecieDocumento.DM;
            Titulo.ValorDesconto    = 45;

            //multa
            Titulo.DataMulta               = DateTime.Now.AddDays(15);
            Titulo.PercentualMulta         = 2;
            Titulo.ValorMulta              = Titulo.ValorTitulo * (Titulo.PercentualMulta / 100);
            Titulo.MensagemInstrucoesCaixa = $"Cobrar multa de {Titulo.ValorMulta}após a data de vencimento";

            //Juros
            Titulo.DataJuros          = DateTime.Now.AddDays(15);
            Titulo.PercentualJurosDia = 10 / 30;
            Titulo.ValorJurosDia      = Titulo.ValorTitulo * (Titulo.PercentualJurosDia / 100);
            string instrucoes = $"Cobrar Juros de {Titulo.PercentualJurosDia} por dia";

            if (Titulo.MensagemInstrucoesCaixa == null)
            {
                Titulo.MensagemInstrucoesCaixa = instrucoes;
            }
            else
            {
                Titulo.MensagemInstrucoesCaixa += Environment.NewLine + instrucoes;
            }

            Titulo.CodigoProtesto = TipoCodigoProtesto.NaoProtestar;
            Titulo.CodigoProtesto = 0;
            Titulo.ValidarDados();
            objBoletos.Add(Titulo);


            if (File.Exists(path + "\\remessa.txt"))
            {
                File.Delete(path + "\\remessa.txt");
            }

            //gerar arquivo de remessa
            var st = new MemoryStream();

            var remessa = new ArquivoRemessa(objBoletos.Banco, TipoArquivo.CNAB240, 1);

            remessa.GerarArquivoRemessa(objBoletos, st);

            byte[] fileInBytes;
            using (st)
            {
                fileInBytes = st.ToArray();
            }

            var arquivo = new FileStream(path + "\\remessa.txt", FileMode.Create, FileAccess.ReadWrite);

            arquivo.Write(fileInBytes, 0, fileInBytes.Length);

            arquivo.Close();
            st.Close();

            var lerArquivo = new StreamReader(path + "\\remessa.txt");

            var    RefazArquivo = new StreamWriter(path + "\\remessa2.txt");
            string strTexto     = string.Empty;
            int    conta1       = 0;

            while (lerArquivo.Peek() != -1)
            {
                strTexto = lerArquivo.ReadLine();
                conta1   = strTexto.Length;
                if (conta1 < 240)
                {
                    conta1 = 240 - conta1;
                    string strEspaco = string.Empty;
                    for (int i = 0; i < conta1; i++)
                    {
                        strEspaco = strEspaco + " ";
                    }
                    RefazArquivo.WriteLine(strTexto + strEspaco);
                }
                else
                {
                    RefazArquivo.WriteLine(strTexto);
                }
            }
            RefazArquivo.Close();
            lerArquivo.Close();
            //GeraBoleto
            int    numBoletos = 0;
            string pdfBase64;

            foreach (var linha in objBoletos)
            {
                numBoletos += 1;
                var novoBoleto = new BoletoBancario();
                novoBoleto.Boleto = linha;
                var pdf = novoBoleto.MontaBytesPDF(false);
                pdfBase64 = Convert.ToBase64String(pdf);
                return(pdfBase64);
            }
            return(null);
        }
Esempio n. 36
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="loteContainer">Lote onde serão adicionados os lançamentos</param>
        /// <param name="boletoAdicionar">Boleto que será detalhado nos detalhes de segmento</param>
        /// <param name="reg1">Primeiro registro detalhe do boleto - SEGMENTO P</param>
        /// <param name="reg2">Segundo registro detalhe do boleto - SEGMENTO Q</param>
        /// <returns></returns>
        public DetalheRemessaCnab240 AdicionarBoletoAoLote(LoteRemessaCnab240 loteContainer, Boleto boletoAdicionar, int contador, int reg1, int reg2)
        {
            var detalheRemessaAdd    = new DetalheRemessaCnab240(boletoAdicionar, contador);
            var numeroRegistroNoLote = 0;

            numeroRegistroNoLote        = reg1;
            detalheRemessaAdd.SegmentoP = new DetalheSegmentoPRemessaCnab240(boletoAdicionar, numeroRegistroNoLote);
            numeroRegistroNoLote        = reg2;
            detalheRemessaAdd.SegmentoQ = new DetalheSegmentoQRemessaCnab240(boletoAdicionar, numeroRegistroNoLote);

            loteContainer.RegistrosDetalheSegmentos.Add(detalheRemessaAdd);

            return(detalheRemessaAdd);
        }
Esempio n. 37
0
        static void Main(string[] args)
        {
            Boleto  boleto  = new Boleto();
            Credito credito = new Credito();
            Debito  debito  = new Debito();

            int opcao;

            do
            {
                Console.WriteLine("Seja Bem-Vindo(a) ao nossa sistema!");
                Console.WriteLine("Você pretende usar Boleto ou Cartão");
                Console.WriteLine("Selecione uma opção");
                Console.WriteLine("[1] - Boleto");
                Console.WriteLine("[2] - Cartão");
                Console.WriteLine("[0] - Sair");
                opcao = int.Parse(Console.ReadLine());
                Console.Clear();

                switch (opcao)
                {
                case 1:
                    //Boleto
                    Console.WriteLine($"{boleto.Desconto(12)}");
                    Console.WriteLine("Digite o codigo de barras do boleto");
                    boleto.CodigoDeBarras = Console.ReadLine();
                    Console.WriteLine("Digite o valor do boleto");
                    boleto.Valor = float.Parse(Console.ReadLine());
                    Console.Clear();
                    boleto.Registrar();
                    break;//Case 1

                case 2:
                    //Cartão
                    int escolha;
                    do
                    {
                        Console.WriteLine("Opção cartão selecionada");
                        Console.WriteLine("Credito ou Debito");
                        Console.WriteLine("[1] - Debito");
                        Console.WriteLine("[2] - Credito");
                        Console.WriteLine("[0] - Voltar");
                        escolha = int.Parse(Console.ReadLine());
                        Console.Clear();

                        switch (escolha)
                        {
                        case 1:
                            //Debito
                            Console.WriteLine("Digite o titular do seu cartão");
                            debito.Titular = Console.ReadLine();
                            Console.WriteLine("Digite a bandeira do seu cartão");
                            debito.Bandeira = Console.ReadLine();
                            Console.WriteLine("Digite o cvv do seu cartão");
                            debito.Cvv = Console.ReadLine();
                            Console.WriteLine("Digite o número do seu cartão");
                            debito.Numero = Console.ReadLine();
                            Console.Clear();

                            Console.WriteLine($"O saldo de seu cartão é de: {debito.Saldo}");
                            Console.WriteLine($"{debito.Desconto(6)}");
                            Console.WriteLine("Digite o valor da compra");
                            debito.Valor = float.Parse(Console.ReadLine());
                            debito.Registrar();
                            break;

                        case 2:
                            //Credito
                            Console.WriteLine("Digite o titular do seu cartão");
                            debito.Titular = Console.ReadLine();
                            Console.WriteLine("Digite a bandeira do seu cartão");
                            debito.Bandeira = Console.ReadLine();
                            Console.WriteLine("Digite o cvv do seu cartão");
                            debito.Cvv = Console.ReadLine();
                            Console.WriteLine("Digite o número do seu cartão");
                            debito.Numero = Console.ReadLine();
                            Console.Clear();

                            Console.WriteLine($"O limite do seu cartão é de: {credito.Limite}");
                            Console.WriteLine("Digite o valor da compra:");
                            credito.Valor = float.Parse(Console.ReadLine());
                            Console.WriteLine("Em quantas vezes você deseja pagar");
                            credito.parcelas = int.Parse(Console.ReadLine());
                            credito.Pagar(credito.Valor);
                            break;

                        default:
                            Console.WriteLine("Opção inválida");
                            break;
                        }
                    } while (escolha != 0); //Escolha debito ou credito
                    break;                  //Case 2


                case 0:
                    //Sair
                    Console.WriteLine("Obrigado por utilizar nossos sistemas");
                    break;

                default:
                    Console.WriteLine("Opção inválida");
                    break;
                }
            } while (opcao != 0);
        }//MAIN
Esempio n. 38
0
        internal static Boleto GerarBoleto(Banco banco, int i)
        {
            var boleto = new Boleto
            {
                Banco                      = banco,
                Sacado                     = Utils.GerarSacado(),
                DataEmissao                = DateTime.Now.AddDays(-3),
                DataProcessamento          = DateTime.Now,
                DataVencimento             = DateTime.Now.AddMonths(i),
                ValorTitulo                = (decimal)100 * i,
                NossoNumero                = (223344 + proximoNossoNumero).ToString(),
                NumeroDocumento            = "BB" + proximoNossoNumero.ToString("D6") + (char)(64 + i),
                EspecieDocumento           = TipoEspecieDocumento.DM,
                Aceite                     = (contador % 2) == 0 ? "N" : "A",
                CodigoInstrucao1           = "11",
                CodigoInstrucao2           = "22",
                DataDesconto               = DateTime.Now.AddMonths(i),
                ValorDesconto              = (decimal)(100 * i * 0.10),
                DataMulta                  = DateTime.Now.AddMonths(i),
                PercentualMulta            = (decimal)0.02,
                ValorMulta                 = (decimal)(100 * i * 0.02),
                DataJuros                  = DateTime.Now.AddMonths(i),
                PercentualJurosDia         = (decimal)0.002,
                ValorJurosDia              = (decimal)(100 * i * 0.002),
                MensagemArquivoRemessa     = "Mensagem para o arquivo remessa",
                MensagemInstrucoesCaixa    = "Mensagem para instruções do caixa",
                NumeroControleParticipante = "CHAVEPRIMARIA=" + proximoNossoNumero.ToString()
            };

            // Avalista
            if (contador % 3 == 0)
            {
                boleto.Avalista      = GerarSacado();
                boleto.Avalista.Nome = boleto.Avalista.Nome.Replace("Sacado", "Avalista");
            }
            // Grupo Demonstrativo do Boleto
            var grupoDemonstrativo = new GrupoDemonstrativo {
                Descricao = "GRUPO 1"
            };

            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 1, Item 1", Referencia = (boleto.DataEmissao.AddMonths(-1).Month).ToString() + "/" + (boleto.DataEmissao.AddMonths(-1).Year).ToString(), Valor = boleto.ValorTitulo * (decimal)0.15
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 1, Item 2", Referencia = (boleto.DataEmissao.AddMonths(-1).Month).ToString() + "/" + (boleto.DataEmissao.AddMonths(-1).Year).ToString(), Valor = boleto.ValorTitulo * (decimal)0.05
            });
            boleto.Demonstrativos.Add(grupoDemonstrativo);
            grupoDemonstrativo = new GrupoDemonstrativo {
                Descricao = "GRUPO 2"
            };
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 2, Item 1", Referencia = (boleto.DataEmissao.Month).ToString() + "/" + (boleto.DataEmissao.Year).ToString(), Valor = boleto.ValorTitulo * (decimal)0.20
            });
            boleto.Demonstrativos.Add(grupoDemonstrativo);
            grupoDemonstrativo = new GrupoDemonstrativo {
                Descricao = "GRUPO 3"
            };
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 1", Referencia = (boleto.DataEmissao.AddMonths(-1).Month).ToString() + "/" + (boleto.DataEmissao.AddMonths(-1).Year).ToString(), Valor = boleto.ValorTitulo * (decimal)0.37
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 2", Referencia = (boleto.DataEmissao.Month).ToString() + "/" + (boleto.DataEmissao.Year).ToString(), Valor = boleto.ValorTitulo * (decimal)0.03
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 3", Referencia = (boleto.DataEmissao.Month).ToString() + "/" + (boleto.DataEmissao.Year).ToString(), Valor = boleto.ValorTitulo * (decimal)0.12
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 4", Referencia = (boleto.DataEmissao.AddMonths(+1).Month).ToString() + "/" + (boleto.DataEmissao.AddMonths(+1).Year).ToString(), Valor = boleto.ValorTitulo * (decimal)0.08
            });
            boleto.Demonstrativos.Add(grupoDemonstrativo);

            boleto.ValidarDados();
            contador++;
            proximoNossoNumero++;
            return(boleto);
        }
Esempio n. 39
0
        internal static Boleto GerarBoleto(Boleto boleto)
        {
            var aceite = boleto.Aceite;

            if (aceite == "?")
            {
                aceite = _contador % 2 == 0 ? "N" : "A";
            }

            // Mensagem - Instruções do Caixa
            StringBuilder msgCaixa = new StringBuilder();

            if (boleto.ValorDesconto > 0)
            {
                msgCaixa.AppendLine($"Conceder desconto de {boleto.ValorDesconto.ToString("R$ ##,##0.00")} até {boleto.DataDesconto.ToString("dd/MM/yyyy")}. ");
            }
            if (boleto.ValorMulta > 0)
            {
                msgCaixa.AppendLine($"Cobrar multa de {boleto.ValorMulta.ToString("R$ ##,##0.00")} após o vencimento. ");
            }
            if (boleto.ValorJurosDia > 0)
            {
                msgCaixa.AppendLine($"Cobrar juros de {boleto.ValorJurosDia.ToString("R$ ##,##0.00")} por dia de atraso. ");
            }
            boleto.MensagemInstrucoesCaixa = msgCaixa.ToString();
            // Avalista
            if (_contador % 3 == 0)
            {
                boleto.Avalista      = boleto.Sacado;
                boleto.Avalista.Nome = boleto.Avalista.Nome.Replace("Sacado", "Avalista");
            }
            // Grupo Demonstrativo do Boleto
            var grupoDemonstrativo = new GrupoDemonstrativo {
                Descricao = "GRUPO 1"
            };

            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 1, Item 1", Referencia = boleto.DataEmissao.AddMonths(-1).Month + "/" + boleto.DataEmissao.AddMonths(-1).Year, Valor = boleto.ValorTitulo * (decimal)0.15
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 1, Item 2", Referencia = boleto.DataEmissao.AddMonths(-1).Month + "/" + boleto.DataEmissao.AddMonths(-1).Year, Valor = boleto.ValorTitulo * (decimal)0.05
            });
            boleto.Demonstrativos.Add(grupoDemonstrativo);
            grupoDemonstrativo = new GrupoDemonstrativo {
                Descricao = "GRUPO 2"
            };
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 2, Item 1", Referencia = boleto.DataEmissao.Month + "/" + boleto.DataEmissao.Year, Valor = boleto.ValorTitulo * (decimal)0.20
            });
            boleto.Demonstrativos.Add(grupoDemonstrativo);
            grupoDemonstrativo = new GrupoDemonstrativo {
                Descricao = "GRUPO 3"
            };
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 1", Referencia = boleto.DataEmissao.AddMonths(-1).Month + "/" + boleto.DataEmissao.AddMonths(-1).Year, Valor = boleto.ValorTitulo * (decimal)0.37
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 2", Referencia = boleto.DataEmissao.Month + "/" + boleto.DataEmissao.Year, Valor = boleto.ValorTitulo * (decimal)0.03
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 3", Referencia = boleto.DataEmissao.Month + "/" + boleto.DataEmissao.Year, Valor = boleto.ValorTitulo * (decimal)0.12
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 4", Referencia = boleto.DataEmissao.AddMonths(+1).Month + "/" + boleto.DataEmissao.AddMonths(+1).Year, Valor = boleto.ValorTitulo * (decimal)0.08
            });
            boleto.Demonstrativos.Add(grupoDemonstrativo);

            boleto.FormataDados();
            _contador++;
            _proximoNossoNumero++;
            return(boleto);
        }
Esempio n. 40
0
        public void FormataLinhaDigitavel(Boleto boleto)
        {
            string Grupo1 = string.Empty;
            string Grupo2 = string.Empty;
            string Grupo3 = string.Empty;
            string Grupo4 = string.Empty;
            string Grupo5 = string.Empty;

            string str1 = string.Empty;
            string str2 = string.Empty;
            string str3 = string.Empty;

            if (boleto.NossoNumeroFormatado.Length == 17)
            {
                #region Campo 1

                //POSI��O 1 A 4 DO CODIGO DE BARRAS
                str1 = boleto.CodigoBarraBoleto.Substring(0, 4);
                //POSICAO 20 A 24 DO CODIGO DE BARRAS
                str2 = boleto.CodigoBarraBoleto.Substring(19, 5);
                //CALCULO DO DIGITO
                str3 = Common.Mod10(str1 + str2).ToString(CultureInfo.InvariantCulture);

                Grupo1 = str1 + str2 + str3;
                Grupo1 = Grupo1.Substring(0, 5) + "." + Grupo1.Substring(5) + " ";

                #endregion Campo 1

                #region Campo 2

                //POSI��O 25 A 34 DO COD DE BARRAS
                str1 = boleto.CodigoBarraBoleto.Substring(24, 10);
                //DIGITO
                str2 = Common.Mod10(str1).ToString(CultureInfo.InvariantCulture);

                Grupo2 = string.Format("{0}.{1}{2} ", str1.Substring(0, 5), str1.Substring(5, 5), str2);

                #endregion Campo 2

                #region Campo 3

                //POSI��O 35 A 44 DO CODIGO DE BARRAS
                str1 = boleto.CodigoBarraBoleto.Substring(34, 10);
                //DIGITO
                str2 = Common.Mod10(str1).ToString(CultureInfo.InvariantCulture);

                Grupo3 = string.Format("{0}.{1}{2} ", str1.Substring(0, 5), str1.Substring(5, 5), str2);

                #endregion Campo 3

                #region Campo 4

                string D4 = _dacBoleto;

                Grupo4 = string.Format("{0} ", D4);

                #endregion Campo 4

                #region Campo 5

                //POSICAO 6 A 9 DO CODIGO DE BARRAS
                str1 = boleto.CodigoBarraBoleto.Substring(5, 4);

                //POSICAO 10 A 19 DO CODIGO DE BARRAS
                str2 = boleto.CodigoBarraBoleto.Substring(9, 10);

                Grupo5 = string.Format("{0}{1}", str1, str2);

                #endregion Campo 5
            }
            else
            {
                #region Campo 1

                string BBB   = boleto.CodigoBarraBoleto.Substring(0, 3);
                string M     = boleto.CodigoBarraBoleto.Substring(3, 1);
                string CCCCC = boleto.CodigoBarraBoleto.Substring(19, 5);
                string D1    = Common.Mod10(BBB + M + CCCCC).ToString(CultureInfo.InvariantCulture);

                Grupo1 = string.Format("{0}{1}{2}.{3}{4} ",
                                       BBB,
                                       M,
                                       CCCCC.Substring(0, 1),
                                       CCCCC.Substring(1, 4), D1);


                #endregion Campo 1

                #region Campo 2

                string CCCCCCCCCC2 = boleto.CodigoBarraBoleto.Substring(24, 10);
                string D2          = Common.Mod10(CCCCCCCCCC2).ToString(CultureInfo.InvariantCulture);

                Grupo2 = string.Format("{0}.{1}{2} ", CCCCCCCCCC2.Substring(0, 5), CCCCCCCCCC2.Substring(5, 5), D2);

                #endregion Campo 2

                #region Campo 3

                string CCCCCCCCCC3 = boleto.CodigoBarraBoleto.Substring(34, 10);
                string D3          = Common.Mod10(CCCCCCCCCC3).ToString(CultureInfo.InvariantCulture);

                Grupo3 = string.Format("{0}.{1}{2} ", CCCCCCCCCC3.Substring(0, 5), CCCCCCCCCC3.Substring(5, 5), D3);


                #endregion Campo 3

                #region Campo 4

                string D4 = _dacBoleto;

                Grupo4 = string.Format(" {0} ", D4);

                #endregion Campo 4

                #region Campo 5

                long FFFF = Common.FatorVencimento(boleto.DataVencimento);

                string VVVVVVVVVV = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "");
                VVVVVVVVVV = VVVVVVVVVV.PadLeft(10, '0');

                if (Convert.ToInt64(VVVVVVVVVV) == 0)
                {
                    VVVVVVVVVV = "000";
                }

                Grupo5 = string.Format("{0}{1}", FFFF, VVVVVVVVVV);

                #endregion Campo 5
            }

            //MONTA OS DADOS DA LINHA DIGIT�VEL DE ACORDO COM OS DADOS OBTIDOS ACIMA
            boleto.LinhaDigitavelBoleto = Grupo1 + Grupo2 + Grupo3 + Grupo4 + Grupo5;
        }
Esempio n. 41
0
        public void FormataCodigoBarra(Boleto boleto)
        {
            if (boleto.CarteiraCobranca == null)
            {
                throw new Exception("Carteira de cobrança não especificada");
            }

            if (!(boleto.CarteiraCobranca.Codigo.Equals("SR") || boleto.CarteiraCobranca.Codigo.Equals("RG")))
            {
                throw new Exception("Carteira cobrança com código: " + boleto.CarteiraCobranca.Codigo +
                                    " não é suportada.");
            }

            if (boleto.NossoNumeroFormatado.Length != 19)
            {
                throw new Exception("Nosso Número Formatado não pode ter tamanho diferente de 19 dígitos.");
            }

            // Posi��o 01-03
            string banco = CodigoBanco;

            //Posi��o 04
            string moeda = MoedaBanco;

            //Posi��o 05 - No final ...

            // Posi��o 06 - 09
            long fatorVencimento = Common.FatorVencimento(boleto.DataVencimento);

            // Posi��o 10 - 19
            string valorDocumento = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "");

            valorDocumento = valorDocumento.PadLeft(10, '0');

            // Inicio Campo livre

            /* Presumimos que o nosso número formatado tem:
             * 19 dígitos no total se incluir o dígito verificador.
             * Para o cálculo do código de barras, precisamos do nosso número, sem o dígito verificador.
             * Para obter esse valor, vamos remover os 2 últimos dígitos.
             */
            string nossoNumeroFormatadoSemDigito =
                boleto.NossoNumeroFormatado.Substring(0, 17);

            //104 - Caixa Econ�mica Federal S.A.
            //Carteira SR - 24 (cobran�a sem registro) || Carteira RG - 14 (cobran�a com registro)
            //Cobran�a sem registro, nosso n�mero com 17 d�gitos.

            //Posi��o 20 - 25
            string codigoCedente = boleto.CedenteBoleto.CodigoCedente.PadLeft(6, '0');

            // Posi��o 26
            string dvCodigoCedente = Common.Mod11Base9(codigoCedente).ToString(CultureInfo.InvariantCulture);

            //Posi��o 27 - 29
            //De acordo com documenta��o, posi��o 3 a 5 do nosso numero
            string primeiraParteNossoNumeroSemDigito = nossoNumeroFormatadoSemDigito.Substring(2, 3);

            //Posi��o 30
            string primeiraConstante;

            switch (boleto.CarteiraCobranca.Codigo)
            {
            case "SR":
                primeiraConstante = "2";
                break;

            case "RG":
                primeiraConstante = "1";
                break;

            default:
                primeiraConstante = boleto.CarteiraCobranca.Codigo;
                break;
            }

            // Posi��o 31 - 33
            //DE acordo com documenta��o, posi��o 6 a 8 do nosso numero
            string segundaParteNossoNumeroSemDigito = nossoNumeroFormatadoSemDigito.Substring(5, 3);

            // Posi��o 34
            const string segundaConstante = "4"; // 4 => emiss�o do boleto pelo cedente

            //Posi��o 35 - 43
            //De acordo com documenta�ao, posi��o 9 a 17 do nosso numero
            string terceiraParteNossoNumeroSemDigito = nossoNumeroFormatadoSemDigito.Substring(8, 9);

            //Posi��o 44
            string ccc = string.Format("{0}{1}{2}{3}{4}{5}{6}",
                                       codigoCedente,
                                       dvCodigoCedente,
                                       primeiraParteNossoNumeroSemDigito,
                                       primeiraConstante,
                                       segundaParteNossoNumeroSemDigito,
                                       segundaConstante,
                                       terceiraParteNossoNumeroSemDigito);
            string dvCampoLivre = Common.Mod11Base9(ccc).ToString(CultureInfo.InvariantCulture);
            string campoLivre   = string.Format("{0}{1}", ccc, dvCampoLivre);

            string xxxx = string.Format("{0}{1}{2}{3}{4}", banco, moeda, fatorVencimento, valorDocumento, campoLivre);

            string dvGeral = Common.Mod11(xxxx, 9).ToString(CultureInfo.InvariantCulture);

            // Posi��o 5
            _dacBoleto = dvGeral;

            boleto.CodigoBarraBoleto = string.Format("{0}{1}{2}{3}{4}{5}",
                                                     banco,
                                                     moeda,
                                                     dvGeral,
                                                     fatorVencimento,
                                                     valorDocumento,
                                                     campoLivre
                                                     );
        }
Esempio n. 42
0
        public void GeraDadosBradesco(TipoArquivo tipoArquivo)
        {
            Cedente objCEDENTE = new Cedente(
                "12345678000155",
                "TESTE",
                "1111",
                "11234",
                "1"
                );

            objCEDENTE.Codigo   = "123456";
            objCEDENTE.Convenio = 9;

            Instrucao_Bradesco item1 = new Instrucao_Bradesco(9, 5);

            //Instancia de Boleto
            Boleto objBOLETO = new Boleto();

            //O nosso-numero deve ser de 11 posi��es
            objBOLETO.EspecieDocumento = new EspecieDocumento(237, "12");
            objBOLETO.DataVencimento   = DateTime.Now.AddDays(10);
            objBOLETO.ValorBoleto      = 90;
            objBOLETO.Carteira         = "09";
            objBOLETO.NossoNumero      = ("00000012345");
            objBOLETO.Cedente          = objCEDENTE;
            //O num do documento deve ser de 10 posi��es
            objBOLETO.NumeroDocumento = "1234567890";
            objBOLETO.NumeroControle  = "100";
            //A data do documento � a data de emiss�o do boleto
            objBOLETO.DataDocumento = DateTime.Now;
            //A data de processamento � a data em que foi processado o documento, portanto � da data de emissao do boleto
            objBOLETO.DataProcessamento      = DateTime.Now;
            objBOLETO.Sacado                 = new Sacado("12345678000255", "TESTE SACADO");
            objBOLETO.Sacado.Endereco.End    = "END SACADO";
            objBOLETO.Sacado.Endereco.Bairro = "BAIRRO SACADO";
            objBOLETO.Sacado.Endereco.Cidade = "CIDADE SACADO";
            objBOLETO.Sacado.Endereco.CEP    = "CEP SACADO";
            objBOLETO.Sacado.Endereco.UF     = "RR";

            objBOLETO.PercMulta = 10;
            objBOLETO.JurosMora = 5;
            objBOLETO.Instrucoes.Add(item1);

            objBOLETO.Banco = new Banco(237);

            // nao precisa desta parte no boleto do brasdesco.

            /*objBOLETO.Remessa = new Remessa()
             * {
             *  Ambiente = Remessa.TipoAmbiemte.Producao,
             *  CodigoOcorrencia = "01",
             * };*/

            Boletos objBOLETOS = new Boletos();

            objBOLETOS.Add(objBOLETO);
            objBOLETOS.Add(objBOLETO);

            var mem        = new MemoryStream();
            var objREMESSA = new ArquivoRemessa(TipoArquivo.CNAB400);

            switch (tipoArquivo)
            {
            case TipoArquivo.CNAB240:
                //GeraArquivoCNAB240(b2.Banco, c, boletos);
                break;

            case TipoArquivo.CNAB400:
                GeraArquivoCNAB400(objBOLETO.Banco, objCEDENTE, objBOLETOS, "09");
                break;

            default:
                break;
            }
        }
Esempio n. 43
0
        public void GeraDadosCaixa()
        {
            ContaBancaria conta = new ContaBancaria();

            conta.OperacaConta  = "OPE";
            conta.Agencia       = "345";
            conta.DigitoAgencia = "6";
            conta.Conta         = "87654321";
            conta.DigitoConta   = "0";
            //
            Cedente c = new Cedente();

            c.ContaBancaria = conta;
            c.CPFCNPJ       = "00.000.000/0000-00";
            c.Nome          = "Empresa de Atacado";
            //Na carteira 198 o código do Cedente é a conta bancária
            c.Codigo = String.Concat(conta.Agencia, conta.DigitoAgencia, conta.OperacaConta, conta.Conta, conta.DigitoConta); //Na Caixa, esse código está no manual como 16 caracteres AAAAOOOCCCCCCCCD;
            //
            Boleto b = new Boleto();

            b.Cedente = c;
            //
            b.DataProcessamento = DateTime.Now;
            b.DataVencimento    = DateTime.Now.AddDays(15);
            b.ValorBoleto       = Convert.ToDecimal(2469.69);
            b.Carteira          = "SR";
            b.NossoNumero       = "92082835";
            b.NumeroDocumento   = "1008073";
            EspecieDocumento ED = new EspecieDocumento(104);

            b.EspecieDocumento = ED;
            b.ValorMulta       = Convert.ToDecimal(2.55);
            b.DataMulta        = b.DataVencimento;

            //
            b.Sacado                 = new Sacado("Fulano de Silva");
            b.Sacado.CPFCNPJ         = "000.000.000-00";
            b.Sacado.Endereco.End    = "SSS 154 Bloco J Casa 23";
            b.Sacado.Endereco.Bairro = "Testando";
            b.Sacado.Endereco.Cidade = "Testelândia";
            b.Sacado.Endereco.CEP    = "70000000";
            b.Sacado.Endereco.UF     = "RS";

            Instrucao_Caixa item1 = new Instrucao_Caixa(9, 5);

            b.Instrucoes.Add(item1);
            //b.Instrucoes.Add(item2);
            b.Banco = new Banco(104);

            #region Dados para Remessa:
            b.Remessa = new Remessa();
            b.Remessa.TipoDocumento    = "2"; // SIGCB - SEM REGISTRO
            b.Remessa.CodigoOcorrencia = string.Empty;
            #endregion

            //
            Boletos boletos = new Boletos();
            boletos.Add(b);

            GeraArquivoCNAB240(b.Banco, c, boletos);
        }
Esempio n. 44
0
 public void FormataNumeroDocumento(Boleto boleto)
 {
     boleto.NumeroDocumento = boleto.NumeroDocumento.PadLeft(6, '0');
 }
        public static Boleto geraBoletoDemo()
        {
            Boleto boleto = new Boleto();

            //Raiz Boleto
            //boleto.seuNumero = Convert.ToString(new Random().Next());
            boleto.seuNumero           = "1";
            boleto.cnpjCPFBeneficiario = "89942965000107"; //INFORME O CNPJ DA SUA EMPRESA
            boleto.dataEmissao         = DateTime.Now.ToString("yyyy-MM-dd");
            boleto.dataVencimento      = DateTime.Now.AddDays(7).ToString("yyyy-MM-dd");
            boleto.numDiasAgenda       = "TRINTA";
            boleto.valorNominal        = 10.15f;
            boleto.valorAbatimento     = 2.10f;
            //Pagador (DADOS DO CLIENTE)
            boleto.pagador             = new BoletoPagador();
            boleto.pagador.tipoPessoa  = "FISICA";
            boleto.pagador.nome        = "Moacir Carlos Kurmann";
            boleto.pagador.endereco    = "QNL 50 Bloco h Apartamento";
            boleto.pagador.numero      = "500";
            boleto.pagador.complemento = "Ed. Teste";
            boleto.pagador.bairro      = "Taguatinga Norte";
            boleto.pagador.cidade      = "Brasília";
            boleto.pagador.uf          = "DF";
            boleto.pagador.cep         = "72152310";
            boleto.pagador.cnpjCpf     = "25647766048";
            boleto.pagador.email       = "*****@*****.**";
            boleto.pagador.telefone    = "999999999";
            //Mensagens
            boleto.mensagem        = new BoletoMensagem();
            boleto.mensagem.linha1 = "Mensagem da linha 1";
            boleto.mensagem.linha2 = "Mensagem da linha 2";
            boleto.mensagem.linha3 = "Mensagem da linha 3";
            boleto.mensagem.linha4 = "Mensagem da linha 4";
            boleto.mensagem.linha5 = "Mensagem da linha 5";
            //Desconto 1
            boleto.desconto1 = new BoletoDesconto();
            boleto.desconto1.codigoDesconto = "NAOTEMDESCONTO";
            boleto.desconto1.data           = String.Empty;
            boleto.desconto1.taxa           = 0f;
            boleto.desconto1.valor          = 0f;
            //Desconto 2
            boleto.desconto2 = new BoletoDesconto();
            boleto.desconto2.codigoDesconto = "NAOTEMDESCONTO";
            boleto.desconto2.data           = String.Empty;
            boleto.desconto2.taxa           = 0f;
            boleto.desconto2.valor          = 0f;
            //Desconto 3
            boleto.desconto3 = new BoletoDesconto();
            boleto.desconto3.codigoDesconto = "NAOTEMDESCONTO";
            boleto.desconto3.data           = String.Empty;
            boleto.desconto3.taxa           = 0f;
            boleto.desconto3.valor          = 0f;
            //Multa
            boleto.multa             = new BoletoMulta();
            boleto.multa.codigoMulta = "VALORFIXO";
            boleto.multa.data        = DateTime.Now.AddDays(8).ToString("yyyy-MM-dd");
            boleto.multa.valor       = 5.5f;
            //Mora
            boleto.mora            = new BoletoMora();
            boleto.mora.codigoMora = "TAXAMENSAL";
            boleto.mora.data       = DateTime.Now.AddDays(8).ToString("yyyy-MM-dd");
            boleto.mora.taxa       = 2f;

            return(boleto);
        }
Esempio n. 46
0
        public void Uniprime_Homologacao()
        {
            var cedente = new Cedente("35.342.670/0001-70", "EMPRESA MODELO S/A", "0001", "9", "0079502", "0");

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

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

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

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

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

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

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

            remessa.GerarArquivoRemessa(cedente.Convenio.ToString(), new Banco(84), cedente, bolRemessa, swRemessa, 1);
        }
Esempio n. 47
0
        internal static Boleto GerarBoleto(IBanco banco, int i, string aceite, int NossoNumeroInicial)
        {
            if (aceite == "?")
            {
                aceite = _contador % 2 == 0 ? "N" : "A";
            }

            var boleto = new Boleto(banco)
            {
                Sacado                     = GerarSacado(),
                DataEmissao                = DateTime.Now.AddDays(-3),
                DataProcessamento          = DateTime.Now,
                DataVencimento             = DateTime.Now.AddMonths(i),
                ValorTitulo                = (decimal)100 * i,
                NossoNumero                = NossoNumeroInicial == 0 ? "" : (NossoNumeroInicial + _proximoNossoNumero).ToString(),
                NumeroDocumento            = "BB" + _proximoNossoNumero.ToString("D6") + (char)(64 + i),
                EspecieDocumento           = TipoEspecieDocumento.DM,
                Aceite                     = aceite,
                CodigoInstrucao1           = "11",
                CodigoInstrucao2           = "22",
                DataDesconto               = DateTime.Now.AddMonths(i),
                ValorDesconto              = (decimal)(100 * i * 0.10),
                DataMulta                  = DateTime.Now.AddMonths(i),
                PercentualMulta            = (decimal)2.00,
                ValorMulta                 = (decimal)(100 * i * (2.00 / 100)),
                DataJuros                  = DateTime.Now.AddMonths(i),
                PercentualJurosDia         = (decimal)0.2,
                ValorJurosDia              = (decimal)(100 * i * (0.2 / 100)),
                MensagemArquivoRemessa     = "Mensagem para o arquivo remessa",
                NumeroControleParticipante = "CHAVEPRIMARIA=" + _proximoNossoNumero
            };
            // Mensagem - Instruções do Caixa
            StringBuilder msgCaixa = new StringBuilder();

            if (boleto.ValorDesconto > 0)
            {
                msgCaixa.AppendLine($"Conceder desconto de {boleto.ValorDesconto.ToString("R$ ##,##0.00")} até {boleto.DataDesconto.ToString("dd/MM/yyyy")}. ");
            }
            if (boleto.ValorMulta > 0)
            {
                msgCaixa.AppendLine($"Cobrar multa de {boleto.ValorMulta.ToString("R$ ##,##0.00")} após o vencimento. ");
            }
            if (boleto.ValorJurosDia > 0)
            {
                msgCaixa.AppendLine($"Cobrar juros de {boleto.ValorJurosDia.ToString("R$ ##,##0.00")} por dia de atraso. ");
            }
            boleto.MensagemInstrucoesCaixa = msgCaixa.ToString();
            // Avalista
            if (_contador % 3 == 0)
            {
                boleto.Avalista      = GerarSacado();
                boleto.Avalista.Nome = boleto.Avalista.Nome.Replace("Sacado", "Avalista");
            }
            // Grupo Demonstrativo do Boleto
            var grupoDemonstrativo = new GrupoDemonstrativo {
                Descricao = "GRUPO 1"
            };

            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 1, Item 1", Referencia = boleto.DataEmissao.AddMonths(-1).Month + "/" + boleto.DataEmissao.AddMonths(-1).Year, Valor = boleto.ValorTitulo * (decimal)0.15
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 1, Item 2", Referencia = boleto.DataEmissao.AddMonths(-1).Month + "/" + boleto.DataEmissao.AddMonths(-1).Year, Valor = boleto.ValorTitulo * (decimal)0.05
            });
            boleto.Demonstrativos.Add(grupoDemonstrativo);
            grupoDemonstrativo = new GrupoDemonstrativo {
                Descricao = "GRUPO 2"
            };
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 2, Item 1", Referencia = boleto.DataEmissao.Month + "/" + boleto.DataEmissao.Year, Valor = boleto.ValorTitulo * (decimal)0.20
            });
            boleto.Demonstrativos.Add(grupoDemonstrativo);
            grupoDemonstrativo = new GrupoDemonstrativo {
                Descricao = "GRUPO 3"
            };
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 1", Referencia = boleto.DataEmissao.AddMonths(-1).Month + "/" + boleto.DataEmissao.AddMonths(-1).Year, Valor = boleto.ValorTitulo * (decimal)0.37
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 2", Referencia = boleto.DataEmissao.Month + "/" + boleto.DataEmissao.Year, Valor = boleto.ValorTitulo * (decimal)0.03
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 3", Referencia = boleto.DataEmissao.Month + "/" + boleto.DataEmissao.Year, Valor = boleto.ValorTitulo * (decimal)0.12
            });
            grupoDemonstrativo.Itens.Add(new ItemDemonstrativo {
                Descricao = "Grupo 3, Item 4", Referencia = boleto.DataEmissao.AddMonths(+1).Month + "/" + boleto.DataEmissao.AddMonths(+1).Year, Valor = boleto.ValorTitulo * (decimal)0.08
            });
            boleto.Demonstrativos.Add(grupoDemonstrativo);

            boleto.ValidarDados();
            _contador++;
            _proximoNossoNumero++;
            return(boleto);
        }
Esempio n. 48
0
        void PrintRecibo(BoletoForm oBoletoForm)
        {
            Boleto blt = oBoletoForm.Boleto;

            // Aqui não pode conter o clear por causa da impressão que chama o PreRender() antes
            if (chkExtra.Checked)
            {
                int nTop = !blt.Carne && blt.ExibeReciboSacado ? (chkLogo.Checked ? 120 : 110) + 60 : 105;
                //int nWidth = blt.Carne ? 169 + 50 : 169;
                blt.CalculaBoleto();
                int nWidth = blt.RenderBoleto.Width;

                //if (chkMaisEspaco.Checked && blt.ExibeReciboSacado)
                //    nTop += 100;
                //else if (chkMaisEspaco.Checked)
                //    nTop += 50;

                // As 2 linhas abaixão, dentro desta logica nção é necessário pois quando se define se será carne ou não é criado o layout devido
                //if (blt.RenderBoleto == null)
                //    blt.RenderBoleto = new BoletoNormal();

                // Verifica se os campos já foram criados
                // Por padrão são criados por ultimo, dentro do render, mas para customizar precisam ser criados antes
                // Usando as funções internas direta do boleto não é necessário usar
                //if (blt.RenderBoleto.Count == -1)
                //    blt.RenderBoleto.MakeFields(blt);

                // Este metodo já checa se existe um objeto de renderização, chamando CalculaBoleto(), e renderizando os campos baiscos
                // Isso retorna uma instancia de FieldDraw, onde no maximo é possivel definir apenas uma propriedade na mesma linha
                FieldDraw f;
                // Linha 1
                f          = blt.AddFieldDraw(0, 0 + nTop, null, "COMPROVANTE DE ENTREGA DE BOLETO", nWidth - 40, 7);
                f.Align    = StringAlignment.Center;
                f.Destaque = true;
                blt.AddFieldDraw(nWidth - 40, 0 + nTop, "Nota Fiscal", "1234").Destaque = true; // Outra forma mais simples de adicionar elementos

                // Linha 2
                // é possivel adicionar linhas diretamente dentro do render Boleto, desde que se tenha feita as checagens anteriores
                blt.RenderBoleto.Add(new FieldDraw(0, 7 + nTop, "Cliente (Razão social)", blt.Sacado, nWidth, 7, StringAlignment.Near));
                // Na pratica a primeira informação adicionar é sempre bom fazer usando o AddFieldDraw, e depois vocês faz como quiser

                // Linha 3
                blt.RenderBoleto.Add(new FieldDraw(0, 14 + nTop, "Nosso Número", blt.NossoNumeroExibicao, nWidth - 80, 7, StringAlignment.Near));
                blt.RenderBoleto.Add(new FieldDraw(nWidth - 80, 14 + nTop, "Data de Vencimento", blt.DataVencimento.ToString("dd/MM/yyyy"), 40, 7, StringAlignment.Center));
                blt.RenderBoleto.Add(new FieldDraw(nWidth - 40, 14 + nTop, "Valor do Documento", blt.ValorDocumento.ToString("C")));

                // Linha 4 - Usando a inclusão direta, só para definir as principais propriedades
                blt.AddFieldDraw(0, 22 + nTop, "Identificação e assinatura do recebedor", "", nWidth - 80, 10);
                blt.AddFieldDraw(nWidth - 80, 22 + nTop, "Documento de Identidade", "", 40, 10);
                blt.AddFieldDraw(nWidth - 40, 22 + nTop, "Data Recebimento", "", 40, 10);
            }

            // Depois de tudo 'desenhado' pode-se alterar algo que foi feito
            // pois na verdade não foi ainda desenhado, e sim montado um array com o que será desenhado
            if (chkMaisEspaco.Checked)
            {
                // Desde que esteja de fato tudo definido
                blt.CalculaBoleto();

                int  nSize  = blt.RenderBoleto.Count;
                bool lAchou = false;
                for (int n = 0; n < nSize; n++)
                {
                    // Acha o campo Demostrativo que ocupa 100% do layout
                    if (blt.RenderBoleto.Get(n).Campo == "Demonstrativo")
                    {
                        lAchou = true;
                        blt.RenderBoleto.Get(n).Campo   = "Demonstrativo da Cobrança"; // Personaliza o texto
                        blt.RenderBoleto.Get(n).Height += 50;
                    }
                    else if (lAchou)
                    {
                        // Desloca tudo adiante em 50 pixel para baixo
                        blt.RenderBoleto.Get(n).Y += 50;
                    }
                }

                // A logica para aumentar o campo de isntrução é quase a mesma
                lAchou = false;
                bool lAchouFim = false;
                for (int n = 0; n < nSize; n++)
                {
                    // O que muda é que o campo não tem todo o tamnho do layout então os campos laterais não podem ser empurrados para baixo
                    if (blt.RenderBoleto.Get(n).Campo == BoletoTextos.Instrucoes)
                    {
                        lAchou = true;
                        blt.RenderBoleto.Get(n).Campo   = "Instruções para Pagamento"; // Personaliza o texto
                        blt.RenderBoleto.Get(n).Height += 50;
                    }
                    else if (lAchouFim)
                    {
                        // Desloca tudo adiante em 50 pixel para baixo
                        blt.RenderBoleto.Get(n).Y += 50;
                    }
                    else if (lAchou)
                    {
                        // os campos são inserido em ordem sequencial
                        // então depois de adicionar os elementos laterais, o restante tem que ser deslocado
                        lAchouFim = blt.RenderBoleto.Get(n).X == 0;
                        if (lAchouFim)
                        {
                            blt.RenderBoleto.Get(n).Y          += 50;
                            blt.RenderBoleto.Get(n - 1).Height += 50; // Aumenta o taamnho do campo anterior
                        }
                    }
                }
            }
            // salva o boleto em uma imagem
            blt.Save("teste.png");
        }
Esempio n. 49
0
        public Retorno Incluir(Curso curso, Aluno aluno, int forma_pgto = 3, bool enviar = true, string cupom = "", bool pagImprimirBoleto = false)
        {
            Retorno retorno = new Retorno();

            Aluno_cursoDB db = new Aluno_cursoDB();

            int qtd = db.Qtd(curso);

            if (qtd > curso.total_alunos)
            {
                retorno.erro     = true;
                retorno.mensagem = "Todas as vagas foram preenchidas.";
            }
            else
            {
                Aluno_curso ac = new Aluno_curso();
                ac = db.Buscar(curso, aluno);
                if (ac == null)
                {
                    ac = new Aluno_curso()
                    {
                        aluno  = aluno,
                        curso  = curso,
                        adesao = DateTime.Now
                    };
                    ac.Salvar();
                }

                bool possuiCupom = false;

                if (cupom.Length >= 6)
                {
                    CupomDesconto cd = new CupomDescontoDB().Buscar(cupom);
                    if (cd != null)
                    {
                        possuiCupom = true;
                        CupomDesconto_utilizacao cdu = new CupomDesconto_utilizacao(0, cd, aluno, DateTime.Now, curso.codigo);
                        cdu.Salvar();
                    }
                }

                //verifica se tem data limite e se tiver, pega o valor da matricula1
                if (curso.data_limite1 > Convert.ToDateTime("01/01/2000"))
                {
                    if (curso.data_limite1 >= DateTime.Now)
                    {
                        curso.matricula = curso.matricula1;
                    }
                }

                //Verifica se é para adicionar a primeira mensalidade
                if (curso.pgto_1parcela == 1)
                {
                    curso.matricula += curso.valor / curso.qtd_parcelas;
                }

                if (curso.matricula == 0)
                {
                    curso.matricula = curso.valor;
                }

                //se for jornada e assinante MEDTV
                string url = HttpContext.Current.Request.Url.AbsoluteUri;
                if ((url.IndexOf("psiquiatriaocupacional") > -1) || (url.IndexOf("congressomedicina") > -1))
                {
                    //verifica se tem cupom de desconto
                    if (possuiCupom && DateTime.Now <= Convert.ToDateTime("25/06/2018"))
                    {
                        curso.matricula = 770;
                    }

                    if (new Aluno_MedTVDB().Ativo(aluno))
                    {
                        curso.matricula  = Convert.ToDecimal(Convert.ToDouble(curso.matricula) * 0.95);
                        curso.matricula1 = Convert.ToDecimal(Convert.ToDouble(curso.matricula1) * 0.95);
                    }
                }

                //verifica se tem cupom de desconto para pos
                if (possuiCupom && curso.tipo == 0)
                {
                    curso.matricula = Convert.ToDecimal(Convert.ToDouble(curso.matricula) * 0.80);
                }

                Aluno_pgto ap = new Aluno_pgto();

                ap = new Aluno_pgtoDB().Buscar(ac);

                if (ap == null)
                {
                    ap = new Aluno_pgto()
                    {
                        aluno          = aluno,
                        curso          = curso,
                        aluno_curso    = ac,
                        data           = DateTime.Now,
                        data_gerado    = DateTime.Now,
                        forma_pgto     = forma_pgto,
                        total          = (double)curso.matricula,
                        total_parcelas = curso.qtd_parcelas,
                        matricula      = (double)curso.matricula,
                        vencimento     = Vencimento(DateTime.Now.AddDays(2)),
                        parcela        = 1
                    };

                    ap.Salvar();
                    ap.codigo = new Aluno_pgtoDB().Buscar(ac).codigo;
                }
                else
                {
                    if (ap.vencimento < DateTime.Now && pagImprimirBoleto)
                    {
                        retorno.link = "https://www.cenbrap.com.br/Inscreva/Contrato/" + curso.codigo + "/" + aluno.codigo;
                        return(retorno);
                    }

                    ap.data           = DateTime.Now;
                    ap.data_gerado    = DateTime.Now;
                    ap.total          = (double)curso.matricula;
                    ap.total_parcelas = curso.qtd_parcelas;
                    ap.matricula      = (double)curso.matricula;
                    ap.vencimento     = Vencimento(DateTime.Now.AddDays(2));
                    ap.forma_pgto     = forma_pgto;

                    ap.Alterar();
                }

                retorno.valor = ap.matricula;
                retorno.id    = ap.codigo;

                #region "Boleto Bancário"
                if (forma_pgto == 3)
                {
                    Boleto boleto = new Boleto()
                    {
                        //conta = 6,
                        conta      = 8,
                        data       = DateTime.Now,
                        valor      = ap.matricula,
                        vencimento = ap.vencimento,
                        instrucoes = "Sr(a). Caixa nao receber apos o vencimento<br><br>Inscricao: " + curso.titulo + "",
                        aluno_pgto = ap
                    };

                    //Verifica se tem boleto e se ele ainda está dentro da data de vencimento se tiver utiliza o mesmo número
                    int boleto_codigo = new BoletoDB().BuscarVencimento(ap);
                    if (boleto_codigo == 0)
                    {
                        boleto.Salvar();
                    }
                    else
                    {
                        boleto.codigo = boleto_codigo;
                        //boleto.Salvar();
                    }

                    retorno.link = "https://boleto.cenbrap.com.br/boleto/?id=" + boleto.codigo;

                    if ((enviar) && (!possuiCupom))
                    {
                        Email_tipo et = new Email_tipoDB().Buscar(curso.tipo, "Inscricao-boleto");

                        string txt         = "";
                        string assunto     = "";
                        string link_boleto = "";

                        //se for o pre-curso
                        if (curso.codigo == 355)
                        {
                            assunto     = "Boleto - " + curso.titulo;
                            txt         = "<strong>Ol&aacute; " + aluno.nome + "</strong><BR><BR>Ser&aacute; um prazer receb&ecirc;-lo(a) no nosso curso Pré-Congresso sobre 'Transtornos Mentais Relacionados ao Trabalho'.<BR><BR>Forma de Pagamento:Boleto Banc&aacute;rio<BR><BR><a href='https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/'><span style='color:#006;'>Clique aqui</span> para gerar o boleto bancário com vencimento em " + ap.vencimento.ToShortDateString() + ".</a><BR><BR>Lembramos que sua inscri&ccedil;&atilde;o somente ser&aacute; confirmada  ap&oacute;s realiza&ccedil;&atilde;o do pagamento.<BR><BR>Estamos &agrave; disposi&ccedil;&atilde;o para eventuais esclarecimentos.<BR><BR>Atenciosamente,<BR><BR>Congresso Brasileiro de Medicina do Trabalho e Perícias Médicas<br /><br /><span style='font-size: 8pt;'><span style='color: #808080;'><strong>Fernando Silva Tiago |&nbsp; </strong></span><span style='color: #808080;'><span style='color: #888888;'><em>Assessoria de Comunicação</em></span></span></span><br /> <span style='margin-top: 0px; margin-bottom: 0px;'><span style='font-size: 8pt;'><span style='color: #888888;'>0300 313 1538</span>";
                            link_boleto = "https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/";
                        }
                        else
                        {
                            if (curso.codigo == 391)
                            {
                                assunto     = "Boleto - www.psiquiatriaocupacional.com.br";
                                txt         = "<strong>Ol&aacute; " + aluno.nome + "</strong><BR><BR>Ser&aacute; um prazer receb&ecirc;-lo(a) no nosso curso Pré-Congresso sobre 'Exame Psíquico'.<BR><BR>Forma de Pagamento:Boleto Banc&aacute;rio<BR><BR><a href='https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/'><span style='color:#006;'>Clique aqui</span> para gerar o boleto bancário com vencimento em " + ap.vencimento.ToShortDateString() + ".</a><BR><BR>Lembramos que sua inscri&ccedil;&atilde;o somente ser&aacute; confirmada  ap&oacute;s realiza&ccedil;&atilde;o do pagamento.<BR><BR>Estamos &agrave; disposi&ccedil;&atilde;o para eventuais esclarecimentos.<BR><BR>Atenciosamente,<BR><BR>Congresso Brasileiro de Medicina do Trabalho e Perícias Médicas<br /><br /><span style='font-size: 8pt;'><span style='color: #808080;'><strong>Fernando Silva Tiago |&nbsp; </strong></span><span style='color: #808080;'><span style='color: #888888;'><em>Assessoria de Comunicação</em></span></span></span><br /> <span style='margin-top: 0px; margin-bottom: 0px;'><span style='font-size: 8pt;'><span style='color: #888888;'>0300 313 1538</span>";
                                link_boleto = "https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/";
                            }
                            else
                            {
                                if (et == null)
                                {
                                    assunto     = "Boleto - " + curso.titulo;
                                    txt         = "<strong>Ol&aacute; " + aluno.nome + "</strong><BR><BR>Ser&aacute; um prazer receb&ecirc;-lo(a) no " + curso.titulo + ".<BR><BR>Forma de Pagamento:Boleto Banc&aacute;rio<BR><BR><a href='https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/'><span style='color:#006;'>Clique aqui</span> para gerar o boleto bancário com vencimento em " + ap.vencimento.ToShortDateString() + ".</a><BR><BR>Lembramos que sua inscri&ccedil;&atilde;o somente ser&aacute; confirmada  ap&oacute;s realiza&ccedil;&atilde;o do pagamento.<BR><BR>Estamos &agrave; disposi&ccedil;&atilde;o para eventuais esclarecimentos.<BR><BR>Atenciosamente,<BR><BR>" + curso.titulo + "<br /><br /><span style='font-size: 8pt;'><span style='color: #808080;'><strong>Fernando Silva Tiago |&nbsp; </strong></span><span style='color: #808080;'><span style='color: #888888;'><em>Assessoria de Comunicação</em></span></span></span><br /> <span style='margin-top: 0px; margin-bottom: 0px;'><span style='font-size: 8pt;'><span style='color: #888888;'>0300 313 1538</span>";
                                    link_boleto = "https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/";
                                }
                                else
                                {
                                    assunto = et.assunto;
                                    txt     = et.texto;

                                    if (curso.codigo == 374)
                                    {
                                        assunto = assunto.Replace("congressomedicina", "psiquiatriaocupacional");
                                        txt     = txt.Replace("congressomedicina", "psiquiatriaocupacional");
                                        //txt = txt.Replace("nosso Congresso", "nossa Jornada");
                                        txt = txt.Replace("Medicina do Trabalho e Perícias Médicas", "Psiquiatria Ocupacional");
                                    }

                                    if (txt.IndexOf("#TITULOCURSO#") > 0)
                                    {
                                        txt = txt.Replace("#TITULOCURSO#", curso.titulo);
                                    }

                                    if (txt.IndexOf("#NOMEALUNO#") > 0)
                                    {
                                        txt = txt.Replace("#NOMEALUNO#", aluno.nome);
                                    }

                                    if (txt.IndexOf("#VENCIMENTOBOLETO#") > 0)
                                    {
                                        txt = txt.Replace("#VENCIMENTOBOLETO#", ap.vencimento.ToShortDateString());
                                    }

                                    if (txt.IndexOf("#URLBOLETO#") > 0)
                                    {
                                        txt = txt.Replace("#URLBOLETO#", "https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/");
                                    }
                                    link_boleto = "https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/";
                                }
                            }
                        }


                        //Verificar primeiro se já foi enviado esse e-mail para o aluno nas últimas 24h
                        if (!new Envio_emailDB().Existe(aluno.email, assunto, link_boleto))
                        {
                            new Envio_emailDB().Salvar(new Envio_email()
                            {
                                data    = DateTime.Now,
                                assunto = assunto,
                                texto   = txt,
                                para    = aluno.email
                            });
                        }
                    }
                    else
                    {
                        retorno.id = boleto.codigo;
                    }
                }
                #endregion

                #region "Cartão Cielo"
                if (forma_pgto == 5)
                {
                    ap.curso = new CursoDB().Buscar(ap.curso.codigo);
                    ap.aluno = new AlunoDB().Buscar(ap.aluno.codigo);

                    string txt_curso = ap.curso.Tipo() + ": " + ap.curso.titulo;

                    if (txt_curso.Length > 128)
                    {
                        txt_curso = txt_curso.Substring(0, 128);
                    }

                    string telefone = ap.aluno.ddd + ap.aluno.telefone;
                    telefone = telefone.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "").Replace(".", "").Replace(",", "").Replace("(", "");

                    if (telefone.Length > 11)
                    {
                        telefone = telefone.Substring(0, 11);
                    }

                    while (telefone.Length < 10)
                    {
                        telefone = "0" + telefone;
                    }

                    ap.aluno_curso.AbriuCartao();

                    retorno.link = new IntegrarCielo().Gerar(ap.codigo, ap.matricula, txt_curso, ap.aluno.nome, ap.aluno.cpf, ap.aluno.email, telefone);
                }
                #endregion

                #region "Recorrencia Cielo"
                if (forma_pgto == 9)
                {
                    ap.curso = new CursoDB().Buscar(ap.curso.codigo);
                    ap.aluno = new AlunoDB().Buscar(ap.aluno.codigo);

                    string txt_curso = ap.curso.Tipo() + ": " + ap.curso.titulo;

                    if (txt_curso.Length > 128)
                    {
                        txt_curso = txt_curso.Substring(0, 128);
                    }

                    string telefone = ap.aluno.ddd + ap.aluno.telefone;
                    telefone = telefone.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "").Replace(".", "").Replace(",", "").Replace("(", "");

                    if (telefone.Length > 11)
                    {
                        telefone = telefone.Substring(0, 11);
                    }

                    while (telefone.Length < 10)
                    {
                        telefone = "0" + telefone;
                    }

                    ap.aluno_curso.AbriuCartao();

                    retorno.link = new PagamentoPagseguroCenbrap().Pagamento(ap);
                }
                #endregion
            }

            return(retorno);
        }
Esempio n. 50
0
        public string BoletoImprimir() // List<BoletoBancario> boletos
        {
            var boletos = new List <BoletoBancario>();

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

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

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

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

            // instrucoes do boleto
            Instrucao_Caixa item;

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

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

            EspecieDocumento_BancoBrasil espDocBB = new EspecieDocumento_BancoBrasil();

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

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

            var boletoBancario = new BoletoBancario();

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

            boletoBancario.GeraImagemCodigoBarras(boleto);

            boletoBancario.MostrarComprovanteEntrega = true;

            boletoBancario.Boleto.Valida();

            boletos.Add(boletoBancario);

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

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


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

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

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

            //var pg = MvcHtmlString.Create(html.ToString());
            return(html.ToString());
            //return pg.ToHtmlString();
        }
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 TesteLinhaDigitavel()
        {
            var boleto = new Boleto();
            var banco  = new Banco(743);

            boleto.Cedente = new Cedente()
            {
                Codigo = "743",
                MostrarCNPJnoBoleto = true,
                Nome          = "BANCO SEMEAR",
                CPFCNPJ       = "65825481000110",
                Carteira      = "2",
                DigCedente    = "9",
                ContaBancaria = new ContaBancaria()
                {
                    Agencia       = "001",
                    DigitoAgencia = "0",
                    Conta         = "65456",
                    DigitoConta   = "5"
                },
                Endereco = new Endereco()
            };

            boleto.LocalPagamento = "Este boleto poderá ser pago em toda a Rede Bancária até 5 dias após o vencimento. ";
            boleto.Instrucoes.Add(new Instrucao_Bradesco()
            {
                Descricao      = "Não receber após o vencimento",
                QuantidadeDias = 3
            });

            boleto.ValorBoleto       = 251.51M;
            boleto.ValorCobrado      = 251.51M;
            boleto.NossoNumero       = "35148373401";
            boleto.NumeroDocumento   = "051483734";
            boleto.DataVencimento    = new DateTime(2017, 12, 4);
            boleto.DataProcessamento = DateTime.Now;
            boleto.Carteira          = "02";

            boleto.Sacado = new Sacado()
            {
                CPFCNPJ  = "05461883893",
                Nome     = "Joãozinho Testador",
                Endereco = new Endereco()
                {
                    Complemento = "Bla bla",
                    Numero      = "80",
                    Bairro      = "",
                    CEP         = "32310535",
                    Cidade      = "Contagem",
                    UF          = "Minas Gerais",
                }
            };

            boleto.CodigoBarra.CodigoBanco     = "743";
            boleto.CodigoBarra.Moeda           = 9;
            boleto.CodigoBarra.CampoLivre      = "0001023514837340110996818";
            boleto.CodigoBarra.ValorDocumento  = "0000025151";
            boleto.CodigoBarra.FatorVencimento = 7363;

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

            var linhaDigitavel = boleto.CodigoBarra.LinhaDigitavel;

            var boletoBancario = new BoletoBancario
            {
                CodigoBanco            = 743,
                Boleto                 = boleto,
                MostrarEnderecoCedente = true,
                MostrarContraApresentacaoNaDataVencimento = false,
                GerarArquivoRemessa = true
            };

            var boletoHtml = boletoBancario.MontaBytesPDF();

            var arquivo = File.Create("bnet_semear.pdf");

            arquivo.Close();

            File.WriteAllBytes("bnet_semear.pdf", boletoHtml);
        }
Esempio n. 53
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. 54
0
        public void FormataLinhaDigitavel(Boleto boleto)
        {
            boleto.Moeda = MoedaBanco;

            var nossoNumeroLinhaDigitavel        = boleto.NossoNumeroFormatado.PadLeft(13, '0');
            var codigoCedente                    = boleto.CedenteBoleto.CodigoCedente.PadLeft(7, '0');
            var digitoAutoConferenciaNossoNumero = Common.Mod11(boleto.NossoNumeroFormatado, 7).ToString(CultureInfo.InvariantCulture);

            var C1 = string.Empty;
            var C2 = string.Empty;
            var C3 = string.Empty;
            var C5 = string.Empty;

            string AAA;
            string B;
            string CCCCC;
            string DD;
            string DDDDDD;
            string EEEE;
            string EEEEEEEE;
            string FFFFF;
            string FFFFFFF;
            string GGGGG;
            string HHHH;
            string IIIIIIIIII;
            string X;
            string Y;
            string Z;
            string W;

            if (boleto.CarteiraCobranca.Codigo == "CSB")
            {
                #region AAABC.CCCCX

                AAA   = CodigoBanco.PadLeft(3, '0');
                B     = boleto.Moeda;
                CCCCC = boleto.NossoNumeroFormatado.Substring(0, 5);
                X     = Common.Mod10(AAA + B + CCCCC).ToString(CultureInfo.InvariantCulture);

                C1  = String.Format("{0}{1}{2}.", AAA, B, CCCCC.Substring(0, 1));
                C1 += String.Format("{0}{1} ", CCCCC.Substring(1, 4), X);

                #endregion

                #region DDDDD.DEEEEY

                // ReSharper disable once InconsistentNaming
                DDDDDD = boleto.NossoNumeroFormatado.Substring(5, 5) + digitoAutoConferenciaNossoNumero;
                // ReSharper disable once InconsistentNaming
                EEEE = boleto.CedenteBoleto.ContaBancariaCedente.Agencia.PadLeft(4, '0');
                Y    = Common.Mod10(DDDDDD + EEEE).ToString(CultureInfo.InvariantCulture);

                C2  = String.Format("{0}.", DDDDDD.Substring(0, 5));
                C2 += string.Format("{0}{1}{2} ", DDDDDD.Substring(5, 1), EEEE, Y);

                #endregion

                #region FFFFF.FF001Z

                // ReSharper disable once InconsistentNaming
                FFFFFFF = boleto.CedenteBoleto.ContaBancariaCedente.Conta.PadLeft(7, '0');
                Z       = Common.Mod10(FFFFFFF + "001").ToString(CultureInfo.InvariantCulture);

                C3  = String.Format("{0}.", FFFFFFF.Substring(0, 5));
                C3 += String.Format("{0}001{1}", FFFFFFF.Substring(5, 2), Z);

                #endregion
            }
            if (boleto.CarteiraCobranca.Codigo == "CNR")
            {
                #region AAABC.CCCCX

                AAA   = CodigoBanco.PadLeft(3, '0');
                B     = boleto.Moeda;
                CCCCC = boleto.CedenteBoleto.CodigoCedente.Substring(0, 5);
                X     = Common.Mod10(AAA + B + CCCCC).ToString(CultureInfo.InvariantCulture);

                C1  = string.Format("{0}{1}{2}.", AAA, B, CCCCC.Substring(0, 1));
                C1 += string.Format("{0}{1} ", CCCCC.Substring(1, 4), X);

                #endregion AAABC.CCDDX

                #region DDEEE.EEEEEY

                // ReSharper disable once InconsistentNaming
                DD = boleto.CedenteBoleto.CodigoCedente.Substring(5, 2);
                // ReSharper disable once InconsistentNaming
                EEEEEEEE = nossoNumeroLinhaDigitavel.Substring(0, 8);
                Y        = Common.Mod10(DD + EEEEEEEE).ToString(CultureInfo.InvariantCulture);

                C2  = string.Format("{0}{1}.", DD, EEEEEEEE.Substring(0, 3));
                C2 += string.Format("{0}{1} ", EEEEEEEE.Substring(3, 5), Y);

                #endregion DDEEE.EEEEEY

                #region FFFFF.GGGGGZ

                // ReSharper disable once InconsistentNaming
                FFFFF = nossoNumeroLinhaDigitavel.Substring(8, 5);
                // ReSharper disable once InconsistentNaming
                GGGGG = (boleto.DataVencimento.DayOfYear + boleto.DataVencimento.ToString("yy").Substring(1, 1)).PadLeft(4,
                                                                                                                         '0') + "2";

                Z = Common.Mod10(FFFFF + GGGGG).ToString(CultureInfo.InvariantCulture);

                C3  = string.Format("{0}.", FFFFF);
                C3 += string.Format("{0}{1}", GGGGG, Z);

                #endregion FFFFF.GGGGGZ
            }

            // ReSharper disable once InconsistentNaming
            W = String.Format(" {0} ", _digitoAutoConferenciaCodigoBarras);

            #region HHHHIIIIIIIIII

            // ReSharper disable once InconsistentNaming
            HHHH = Common.FatorVencimento(boleto.DataVencimento).ToString(CultureInfo.InvariantCulture);
            // ReSharper disable once InconsistentNaming
            IIIIIIIIII = boleto.ValorBoleto.ToString("f").Replace(",", "").Replace(".", "");

            IIIIIIIIII = IIIIIIIIII.PadLeft(10, '0');
            C5         = HHHH + IIIIIIIIII;

            #endregion HHHHHHHHHHHHHH

            boleto.LinhaDigitavelBoleto = C1 + C2 + C3 + W + C5;
        }
    protected void btprocessa_Click(object sender, EventArgs e)
    {
        Boolean lOk = true;

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

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

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

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

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

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

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

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

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



        //
        // CRIA LOG ===============================================================================================================================================
        fwObs_Log = "BOLETOS: ";// +cbbanco.Value.ToString();
        SqlParameter[] param_log = { new SqlParameter("@login",    (String)Session["CodUsuario"]),
                                     new SqlParameter("@tabela",   fWtabela),
                                     new SqlParameter("@operacao", "PARCELAS"),
                                     new SqlParameter("@obs",      "GERAÇÃO BOLETOS"),
                                     new SqlParameter("@acao",     fwObs_Log) };
        uLog.MakeLog(param_log);
        // FIM CRIA LOG ===============================================================================================================================================
        //
        //
        btprocessa.Enabled = false;
        //ScriptManager.RegisterStartupScript(UpdatePanel, GetType(), "msgbox", "alert('Configuração Registrada!');", true);
    }
Esempio n. 56
0
        public void TestGerarArquivoRemessaUnicredCnab400()
        {
            var remessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2");
            var banco   = Fabricas.BancoFactory.ObterBanco("136");
            var contaBancariaCedente = new ContaBancaria("0136", "3", "00623", "9");
            var cedente = new Cedente("12345", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null);

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

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

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

            banco.FormatarBoleto(boleto);

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

            var escritor = new EscritorRemessaCnab400Unicred(cnab400);

            var linhasEscrever = escritor.EscreverTexto(cnab400);

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

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

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

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

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

            arquivo.Close();
        }
Esempio n. 57
0
        static void Main(string[] args)
        {
            Console.WriteLine("Digite o valor à ser pago:");
            float valorTotal = float.Parse(Console.ReadLine());


            string menu;

            do
            {
                System.Console.WriteLine("\nEscolha um método de pagamento");
                System.Console.WriteLine("[ 1 ] Boleto (desconto de 12%)");
                System.Console.WriteLine("[ 2 ] Cartão de Crédito");
                System.Console.WriteLine("[ 3 ] Cartão de Débito");
                System.Console.WriteLine("[ 4 ] Cancelar");
                System.Console.WriteLine("[ 0 ] Sair");
                menu = Console.ReadLine();

                switch (menu)
                {
                case "1":
                    //BOLETO BANCÁRIO
                    Boleto boleto = new Boleto();
                    boleto.Valor = valorTotal;
                    Console.Clear();
                    boleto.Registrar(boleto.Valor, boleto.Data, boleto.CodigoBarras);
                    break;

                case "2":

                    //Avisos de Condições - CARTÃO DE CRÉDITO
                    Credito credito = new Credito();

                    Console.Clear();
                    System.Console.WriteLine("Condições de Parcelamento:\n");
                    System.Console.WriteLine("Nas compras parceladas em até 6 vezes terão taxas de juros de 5%\nNas compras parceladas de 7 à 12 vezes terão taxas de juros de 8%");
                    System.Console.WriteLine("\nNão é possível parcelar uma compra mais do que 12 vezes");
                    System.Console.WriteLine("\n*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*");

                    credito.Valor = valorTotal;
                    System.Console.WriteLine("Digite abaixo a quantidade de parcelas:");
                    int parcelas = int.Parse(Console.ReadLine());

                    if (parcelas > 12)
                    {
                        System.Console.WriteLine("Não é possível parcelar mais que 12 vezes.");
                        break;
                    }
                    if (parcelas <= 6)
                    {
                        System.Console.WriteLine($"Valor a ser pago com taxa aplicada {credito.Valor+(credito.Valor*0.05)}");
                    }
                    else
                    {
                        System.Console.WriteLine($"Valor a ser pago com taxa aplicada {credito.Valor+(credito.Valor*0.08)}");
                    }


                    credito.Pagar(valorTotal);    //VERIFICAÇÃO DE LIMITE

                    break;

                case "3":
                    //CARTÃO DE DÉBITO
                    Console.Clear();
                    Debito debito = new Debito();
                    debito.Valor = valorTotal;
                    System.Console.WriteLine($"Valor à ser pago {debito.Valor}");
                    debito.Pagar(valorTotal);
                    break;

                case "4":
                    //CANCELAR
                    Console.Clear();
                    Debito cancelar = new Debito();
                    System.Console.WriteLine(cancelar.Cancelar());    //MÉTODO POLIMORFISMO APLICADO NA CLASSE *DEBITO*, POREM CONFIGURADO NA MATRIZ *PAGAMENTO*

                    break;

                default:
                    // System.Console.WriteLine("Opção Inválida!");
                    break;
                }
            } while (menu != "0");

            Console.Clear();
            System.Console.WriteLine("Obrigado, volte Sempre!");
        }
Esempio n. 58
0
        public void ValidaBoletoComNormasBanco(Boleto boleto)
        {
            boleto.SetNossoNumeroFormatado(boleto.NossoNumeroFormatado.Replace("-", ""));

            //throw new NotImplementedException("Função não implementada.");
            if (
                !((boleto.CarteiraCobranca.Codigo == "102") || (boleto.CarteiraCobranca.Codigo == "101") ||
                  (boleto.CarteiraCobranca.Codigo == "201")))
            {
                throw new NotImplementedException("Carteira não implementada.");
            }

            //Banco 008  - Utilizar somente 09 posições do Nosso Numero (08 posições + DV), zerando os 04 primeiros dígitos
            if (CodigoBanco == "008")
            {
                if (boleto.NossoNumeroFormatado.Length != 8)
                {
                    throw new NotImplementedException("Nosso Número deve ter 8 posições para o banco 008.");
                }
            }

            if (CodigoBanco == "033")
            {
                if (boleto.NossoNumeroFormatado.Length == 7 && boleto.CarteiraCobranca.Codigo.Equals("101"))
                {
                    boleto.SetNossoNumeroFormatado(boleto.IdentificadorInternoBoleto.PadLeft(13, '0'));
                }

                if (boleto.NossoNumeroFormatado.Length != 13)
                {
                    throw new NotSupportedException("Nosso Número deve ter 13 posições para o banco 033.");
                }
            }

            //Banco 353  - Utilizar somente 08 posições do Nosso Numero (07 posições + DV), zerando os 05 primeiros dígitos
            if (CodigoBanco == "353")
            {
                if (boleto.NossoNumeroFormatado.Length != 7)
                {
                    throw new NotImplementedException("Nosso Número deve ter 7 posições para o banco 353.");
                }
            }

            if (boleto.CedenteBoleto.CodigoCedente.ToString().Length > 7)
            {
                throw new NotImplementedException("Código cedente deve ter no máximo 7 posições.");
            }

            if (EspecieDocumento.ValidaSigla(boleto.Especie) == "")
            {
                boleto.Especie = new EspecieDocumento(Convert.ToInt32("02"));
            }

            if (boleto.PercentualIOS > 10 &
                (CodigoBanco == "008" || CodigoBanco == "033" || CodigoBanco == "353"))
            {
                throw new Exception("O percentual do IOS é limitado a 9% para o Banco Santander");
            }

            var nossoNumeroFormatadoA = boleto.NossoNumeroFormatado.Substring(0, boleto.NossoNumeroFormatado.Length - 1);
            var nossoNumeroFormatadoB = boleto.NossoNumeroFormatado.Remove(0, boleto.NossoNumeroFormatado.Length - 1);

            boleto.SetNossoNumeroFormatado(string.Format("{0}-{1}", nossoNumeroFormatadoA, nossoNumeroFormatadoB));

            /* TAMANHO DO CODIGO DE BARRAS DEVE SER 44 POSIÇÕES, CASO NÃO, GERAR EXCEPTION DE CODIGO DE BARRAS INVALIDO */
            if (boleto.CodigoBarraBoleto.Length != 44)
            {
                throw new Exception(
                          "O código de barras gerado para o boleto é invalido, verifique as configurações de carteira.");
            }
        }
Esempio n. 59
0
        public ArrayList gerarBoletos()
        {
            Boleto        novoBoleto;
            BoletoDAO     boletoDAO     = new BoletoDAO();
            Periodicidade periodicidade = _Contrato.PERIODICIDADE_FK;

            ArrayList boletos = new ArrayList();

            decimal  valorParcela = decimal.Parse(((_Contrato.VALOR + (_Contrato.VALOR * _Contrato.JUROS / 100)) / _Contrato.PERIODO).ToString());
            DateTime dataProx     = DateTime.Now;

            for (int i = 0; i < _Contrato.PERIODO; i++)
            {
                novoBoleto = new Boleto();

                novoBoleto.COD_CONTRATO        = _Contrato.COD_CONTRATO;
                novoBoleto.COD_SITUACAO_BOLETO = 1;
                switch (periodicidade.DESCRICAO)
                {
                case "Diária":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddDays(i + 2), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = novoBoleto.DATA_VENCIMENTO.AddDays(1);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = novoBoleto.DATA_VENCIMENTO.AddDays(1);
                    }
                    break;

                case "Mensal":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddMonths(i + 1), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(2);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(1);
                    }
                    break;

                case "Quinzenal":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddDays(i + 15), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddDays(30);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddDays(15);
                    }
                    break;

                case "Semanal":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddDays(i + 7), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddDays(14);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddDays(7);
                    }
                    break;

                case "Bimestral":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddMonths(i + 2), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(4);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(2);
                    }

                    break;

                case "Trimestral":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddMonths(i + 3), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(6);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(3);
                    }
                    break;

                case "Semestral":
                    if (i == 0)
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddMonths(i + 6), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(12);
                    }
                    else
                    {
                        novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(dataProx, _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                        dataProx = dataProx.AddMonths(6);
                    }
                    break;

                default:
                    novoBoleto.DATA_VENCIMENTO = verificaDataVencimento(DateTime.Now.AddDays(i + 1), _Contrato.CONTRATANTE_FK.DIA_FK.COD_DIA);
                    break;
                }
                //dataProx = novoBoleto.DATA_VENCIMENTO;
                novoBoleto.PARCELA = i + 1;
                novoBoleto.VALOR   = valorParcela;

                boletoDAO.Add(novoBoleto);
                boletoDAO.SaveChanges();
                boletos.Add(novoBoleto);
            }
            return(boletos);
        }
Esempio n. 60
0
        private static void ImprimeBoleto(int i)
        {
            Boleto boleto = new Boleto();

            boleto.Cedente = new Cedente("00.000.000/0000-00", "Empresa XPTO Ltda.", "3118", "6", "0001567", "9");
            var enderecoCedente = new Endereco();

            enderecoCedente.Bairro  = "Testando / " + i.ToString();
            enderecoCedente.End     = "SSS 154 Bloco J Casa 23 / " + i.ToString();
            enderecoCedente.Cidade  = "Cornelio Procopio / " + i.ToString();
            enderecoCedente.CEP     = "86300000";
            enderecoCedente.UF      = "PR";
            boleto.Cedente.Endereco = enderecoCedente;

            boleto.Cedente.Instrucoes.Add(new Instrucao(237)
            {
                Descricao = "Instrucao para caixa"
            });
            boleto.Cedente.Instrucoes.Add(new Instrucao(237)
            {
                Descricao = "Instrucao para caixa linha 2"
            });

            var sacado   = new Sacado("000.000.000-00", "Fulano de Tal 1/ " + i.ToString());
            var endereco = new Endereco();

            endereco.Bairro = "Testando / " + i.ToString();
            endereco.End    = "SSS 154 Bloco J Casa 23 / " + i.ToString();
            endereco.Cidade = "Testelândia / " + i.ToString();
            endereco.CEP    = "70000000";
            endereco.UF     = "DF";
            sacado.Endereco = endereco;

            boleto.Sacado            = sacado;
            boleto.DataDocumento     = DateTime.Now.AddDays(-3);
            boleto.DataProcessamento = DateTime.Now;
            boleto.DataVencimento    = DateTime.Now.AddDays(15);

            boleto.DataDesconto  = boleto.DataVencimento;
            boleto.ValorBoleto   = 500;
            boleto.ValorDesconto = 10;

            boleto.NumeroDocumento = "BB123456 / " + i.ToString();
            boleto.NossoNumero     = (123456 + i).ToString();

            boleto.Carteira         = "1";
            boleto.VariacaoCarteira = "";

            boleto.Instrucoes.Add(new Instrucao_Bradesco(1));
            boleto.Banco            = new Banco(748);
            boleto.EspecieDocumento = new EspecieDocumento_Bradesco("1");
            boleto.Valida();
            try
            {
                BoletoBancario imprimeBoleto = new BoletoBancario();
                imprimeBoleto.CodigoBanco               = (short)boleto.Banco.Codigo;
                imprimeBoleto.OcultarInstrucoes         = false;
                imprimeBoleto.Boleto                    = boleto;
                imprimeBoleto.MostrarComprovanteEntrega = true;
                imprimeBoleto.MostrarEnderecoCedente    = true;
                imprimeBoleto.Boleto                    = boleto;
                imprimeBoleto.MontaHtmlNoArquivoLocal(@"c:\temp\boleto.htm");

                var pdf     = imprimeBoleto.MontaBytesPDF(true);
                var arquivo = @"c:\temp\boleto.pdf";
                if (File.Exists(arquivo))
                {
                    File.Delete(arquivo);
                }
                FileStream fs = new FileStream(arquivo, FileMode.Create);
                fs.Write(pdf, 0, pdf.Length);
                fs.Close();
            }
            catch (Exception ex)
            {
                var erro = "";
                while (ex != null)
                {
                    erro += ex.Message + "\n";
                    ex    = ex.InnerException;
                }
            }
        }