Esempio n. 1
0
        public Boleto(DateTime dataVencimento, double valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento)
        {
            _carteira = carteira;
            _nossoNumero = nossoNumero;
            _dataVencimento = dataVencimento;
            _valorBoleto = valorBoleto;
            _valorBoleto = valorBoleto;
            _ValorCobrado = ValorCobrado;
            _cedente = cedente;

            _especieDocumento = especieDocumento;
        }
Esempio n. 2
0
        public Boleto(DateTime dataVencimento, decimal valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento)
        {
            this._carteira = carteira;
            this._nossoNumero = nossoNumero;
            this._dataVencimento = dataVencimento;
            this._valorBoleto = valorBoleto;
            this._valorBoleto = valorBoleto;
            this._valorCobrado = this.ValorCobrado;
            this._cedente = cedente;

            this._especieDocumento = especieDocumento;
        }
        public override void ValidaBoleto(Boleto boleto)
        {
            //throw new NotImplementedException("Função não implementada.");
            if (!((boleto.Carteira == "102") || (boleto.Carteira == "101") || (boleto.Carteira == "201")))
            {
                throw new NotImplementedException("Carteira Não implementada.");
            }

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

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

            if (this.Codigo == 33)
            {
                if (boleto.NossoNumero.Length != 12)
                {
                    throw new NotImplementedException("Nosso Número deve ter 12 posições para o banco 033.");
                }
            }
            if (boleto.Cedente.Codigo.ToString().Length > 7)
            {
                throw new NotImplementedException("Código cedente deve ter 7 posições.");
            }

            boleto.LocalPagamento += "Grupo Santander - GC";

            if (EspecieDocumento.ValidaSigla(boleto.EspecieDocumento) == "")
            {
                boleto.EspecieDocumento = new EspecieDocumento_Santander(2);
            }

            boleto.FormataCampos();
        }
Esempio n. 4
0
 public Boleto(short?codBanco, DateTime dataVencimento, decimal valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento = null)
     : this(dataVencimento, valorBoleto, carteira, nossoNumero, cedente, especieDocumento)
 {
     InitBanco(codBanco, carteira);
 }
Esempio n. 5
0
 public Boleto(DateTime dataVencimento, double valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento);
Esempio n. 6
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.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. 7
0
        public void GeraDadosSicredi()
        {
            ContaBancaria conta = new ContaBancaria();
            conta.Agencia = "051";
            conta.DigitoAgencia = "2";
            conta.Conta = "13000";
            conta.DigitoConta = "3";
            //
            Cedente c = new Cedente();
            c.ContaBancaria = conta;
            c.CPFCNPJ = "00000000000000";
            c.Nome = "Empresa de Atacado";
            //Na carteira 198 o código do Cedente é a conta bancária
            c.Codigo = "12345";//No Banrisul, esse código está no manual como 12 caracteres, por eu(sidneiklein) isso tive que alterar o tipo de int para string;
            c.Convenio = 124522;
            //
            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 = "1";
            b.VariacaoCarteira = "02";
            b.NossoNumero = string.Empty; //"92082835"; //** Para o "Remessa.TipoDocumento = "06", não poderá ter NossoNúmero Gerado!
            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 = "RS";

            Instrucao_Sicredi item1 = new Instrucao_Sicredi(9, 5);
            b.Instrucoes.Add(item1);
            //b.Instrucoes.Add(item2);
            b.Banco = new Banco(748);

            //
            EspecieDocumento especiedocumento = new EspecieDocumento(748, "A");//(341, 1);
            b.EspecieDocumento = especiedocumento;


            #region Dados para Remessa:
            b.Remessa = new Remessa();
            b.Remessa.TipoDocumento = "A"; //A = 'A' - SICREDI com Registro
            #endregion

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

            GeraArquivoCNAB400(b.Banco, c, boletos);
        }
Esempio n. 8
0
 public Boleto(short? codBanco, DateTime dataVencimento, decimal valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento = null)
     : this(dataVencimento, valorBoleto, carteira, nossoNumero, cedente, especieDocumento)
 {
     InitBanco(codBanco, carteira);
 }
Esempio n. 9
0
        private string MontaHtml(string urlImagemLogo, string urlImagemBarra, string imagemCodigoBarras)
        {
            var    html            = new StringBuilder();
            string enderecoCedente = "";

            //Oculta o cabeçalho das instruções do boleto
            if (!OcultarInstrucoes)
            {
                html.Append(GeraHtmlInstrucoes());
            }

            if (!FormatoCarne)
            {
                //Mostra o comprovante de entrega
                if (MostrarComprovanteEntrega | MostrarComprovanteEntregaLivre)
                {
                    html.Append(HtmlComprovanteEntrega);
                    //Html da linha pontilhada
                    if (OcultarReciboSacado)
                    {
                        html.Append(Html.ReciboSacadoParte8);
                    }
                }

                //Oculta o recibo do sacabo do boleto
                if (!OcultarReciboSacado)
                {
                    html.Append(GeraHtmlReciboSacado());

                    //Caso mostre o Endereço do Cedente
                    if (MostrarEnderecoCedente)
                    {
                        if (Cedente.Endereco == null)
                        {
                            throw new ArgumentNullException("Endereço do Cedente");
                        }

                        string Numero = !String.IsNullOrEmpty(Cedente.Endereco.Numero) ? Cedente.Endereco.Numero + ", " : "";
                        enderecoCedente = string.Concat(Cedente.Endereco.End, " , ", Numero);

                        if (Cedente.Endereco.CEP == String.Empty)
                        {
                            enderecoCedente += string.Format("{0} - {1}/{2}", Cedente.Endereco.Bairro,
                                                             Cedente.Endereco.Cidade, Cedente.Endereco.UF);
                        }
                        else
                        {
                            enderecoCedente += string.Format("{0} - {1}/{2} - CEP: {3}", Cedente.Endereco.Bairro,
                                                             Cedente.Endereco.Cidade, Cedente.Endereco.UF,
                                                             Utils.FormataCEP(Cedente.Endereco.CEP));
                        }
                    }
                }
            }

            string sacado = "";

            //Flavio([email protected]) - adicionei a possibilidade de o boleto não ter, necessáriamente, que informar o CPF ou CNPJ do sacado.
            //Formata o CPF/CNPJ(se houver) e o Nome do Sacado para apresentação
            if (Sacado.CPFCNPJ == string.Empty)
            {
                sacado = Sacado.Nome;
            }
            else
            {
                if (Sacado.CPFCNPJ.Length <= 11)
                {
                    sacado = string.Format("{0}  CPF: {1}", Sacado.Nome, Utils.FormataCPF(Sacado.CPFCNPJ));
                }
                else
                {
                    sacado = string.Format("{0}  CNPJ: {1}", Sacado.Nome, Utils.FormataCNPJ(Sacado.CPFCNPJ));
                }
            }

            String infoSacado = Sacado.InformacoesSacado.GeraHTML(false);

            //Caso não oculte o Endereço do Sacado,
            if (!OcultarEnderecoSacado)
            {
                String enderecoSacado = "";

                if (Sacado.Endereco.CEP == String.Empty)
                {
                    enderecoSacado = string.Format("{0} - {1}/{2}", Sacado.Endereco.Bairro, Sacado.Endereco.Cidade, Sacado.Endereco.UF);
                }
                else
                {
                    enderecoSacado = string.Format("{0} - {1}/{2} - CEP: {3}", Sacado.Endereco.Bairro,
                                                   Sacado.Endereco.Cidade, Sacado.Endereco.UF, Utils.FormataCEP(Sacado.Endereco.CEP));
                }

                if (Sacado.Endereco.End != string.Empty && enderecoSacado != string.Empty)
                {
                    if (infoSacado == string.Empty)
                    {
                        infoSacado += InfoSacado.Render(Sacado.Endereco.End, enderecoSacado, false);
                    }
                    else
                    {
                        infoSacado += InfoSacado.Render(Sacado.Endereco.End, enderecoSacado, true);
                    }
                }
                //"Informações do Sacado" foi introduzido para possibilitar que o boleto na informe somente o endereço do sacado
                //como em outras situaçoes onde se imprime matriculas, codigos e etc, sobre o sacado.
                //Sendo assim o endereço do sacado passa a ser uma Informaçao do Sacado que é adicionada no momento da renderização
                //de acordo com a flag "OcultarEnderecoSacado"
            }

            string agenciaConta = Utils.FormataAgenciaConta(Cedente.ContaBancaria.Agencia, Cedente.ContaBancaria.DigitoAgencia, Cedente.ContaBancaria.Conta, Cedente.ContaBancaria.DigitoConta);

            // Trecho adicionado por Fabrício Nogueira de Almeida :fna - [email protected] - 09/12/2008

            /* Esse código foi inserido pq no campo Agência/Cod Cedente, estava sendo impresso sempre a agência / número da conta
             * No boleto da caixa que eu fiz, coloquei no método validarBoleto um trecho para calcular o dígito do cedente, e adicionei esse atributo na classe cedente
             * O trecho abaixo testa se esse digito foi calculado, se foi insere no campo Agencia/Cod Cedente, a agência e o código com seu digito
             * caso contrário mostra a agência / conta, como era anteriormente.
             * Com esse código ele ira atender as necessidades do boleto caixa e não afetará os demais
             * Caso queira que apareça o Agência/cod. cedente para outros boletos, basta calcular e setar o digito, como foi feito no boleto Caixa
             */

            string agenciaCodigoCedente;

            if (!Cedente.DigitoCedente.Equals(-1))
            {
                if (!String.IsNullOrEmpty(Cedente.ContaBancaria.OperacaConta))
                {
                    agenciaCodigoCedente = string.Format("{0}/{1}.{2}-{3}", Cedente.ContaBancaria.Agencia, Cedente.ContaBancaria.OperacaConta, Utils.FormatCode(Cedente.Codigo.ToString(), 6), Cedente.DigitoCedente.ToString());
                }

                switch (Boleto.Banco.Codigo)
                {
                case 748:
                    agenciaCodigoCedente = string.Format("{0}.{1}.{2}", Cedente.ContaBancaria.Agencia, Cedente.ContaBancaria.OperacaConta, Cedente.Codigo);
                    break;

                case 41:
                    agenciaCodigoCedente = string.Format("{0}.{1}/{2}.{3}.{4}", Cedente.ContaBancaria.Agencia, Cedente.ContaBancaria.DigitoAgencia, Cedente.Codigo.Substring(4, 6), Cedente.Codigo.Substring(10, 1), Cedente.DigitoCedente);
                    break;

                case 1:
                    agenciaCodigoCedente = string.Format("{0}-{1}/{2}-{3}", Cedente.ContaBancaria.Agencia, Cedente.ContaBancaria.DigitoAgencia, Utils.FormatCode(Cedente.ContaBancaria.Conta, 6), Cedente.ContaBancaria.DigitoConta);
                    break;

                default:
                    agenciaCodigoCedente = string.Format("{0}/{1}-{2}", Cedente.ContaBancaria.Agencia, Utils.FormatCode(Cedente.Codigo.ToString(), 6), Cedente.DigitoCedente.ToString());
                    break;
                }
            }
            else
            {
                //Para banco SANTANDER, a formatação do campo "Agencia/Identif.Cedente" - por jsoda em 07/05/2012
                if (Boleto.Banco.Codigo == 33)
                {
                    agenciaCodigoCedente = string.Format("{0}-{1}/{2}", Cedente.ContaBancaria.Agencia, Cedente.ContaBancaria.DigitoAgencia, Utils.FormatCode(Cedente.Codigo.ToString(), 7));
                    if (String.IsNullOrEmpty(Cedente.ContaBancaria.DigitoAgencia))
                    {
                        agenciaCodigoCedente = String.Format("{0}/{1}", Cedente.ContaBancaria.Agencia, Utils.FormatCode(Cedente.Codigo.ToString(), 7));
                    }
                }
                else if (Boleto.Banco.Codigo == 399) // para Banco HSBC mostra apenas código Cedente - por Ponce em 08/06/2012
                {
                    agenciaCodigoCedente = Utils.FormatCode(Cedente.Codigo.ToString(), 7);
                }
                else if (Boleto.Banco.Codigo == 748)
                {
                    agenciaCodigoCedente = string.Format("{0}.{1}.{2}", Cedente.ContaBancaria.Agencia, Cedente.ContaBancaria.OperacaConta, Cedente.Codigo);
                }
                else
                {
                    agenciaCodigoCedente = agenciaConta;
                }
            }

            if (!FormatoCarne)
            {
                html.Append(GeraHtmlReciboCedente());
            }
            else
            {
                html.Append(GeraHtmlCarne("", GeraHtmlReciboCedente()));
            }

            string dataVencimento = Boleto.DataVencimento.ToString("dd/MM/yyyy");

            if (MostrarContraApresentacaoNaDataVencimento)
            {
                dataVencimento = "Contra Apresentação";
            }

            if (String.IsNullOrEmpty(vLocalLogoCedente))
            {
                vLocalLogoCedente = urlImagemLogo;
            }


            return(html
                   .Replace("@CODIGOBANCO", Utils.FormatCode(_ibanco.Codigo.ToString(), 3))
                   .Replace("@DIGITOBANCO", _ibanco.Digito.ToString())
                   //.Replace("@URLIMAGEMBARRAINTERNA", urlImagemBarraInterna)
                   //.Replace("@URLIMAGEMCORTE", urlImagemCorte)
                   //.Replace("@URLIMAGEMPONTO", urlImagemPonto)
                   .Replace("@URLIMAGEMLOGO", urlImagemLogo)
                   .Replace("@URLIMGCEDENTE", vLocalLogoCedente)
                   .Replace("@URLIMAGEMBARRA", urlImagemBarra)
                   .Replace("@LINHADIGITAVEL", Boleto.CodigoBarra.LinhaDigitavel)
                   .Replace("@LOCALPAGAMENTO", Boleto.LocalPagamento)
                   .Replace("@DATAVENCIMENTO", dataVencimento)
                   .Replace("@CEDENTE", Cedente.Nome + " CNPJ: " + Cedente.CPFCNPJ.ToString())
                   .Replace("@DATADOCUMENTO", Boleto.DataDocumento.ToString("dd/MM/yyyy"))
                   .Replace("@NUMERODOCUMENTO", Boleto.NumeroDocumento)
                   .Replace("@ESPECIEDOCUMENTO", EspecieDocumento.ValidaSigla(Boleto.EspecieDocumento))
                   .Replace("@DATAPROCESSAMENTO", Boleto.DataProcessamento.ToString("dd/MM/yyyy"))

                   #region Implementação para o Banco do Brasil
                   //Variável inserida para atender às especificações das carteiras "17-019" e "18-019" do Banco do Brasil
                   //apenas para a ficha de compensação.
                   //Como a variável não existirá se não forem as carteiras "17-019" e "18-019", não foi colocado o [if].
                   .Replace("@NOSSONUMEROBB", Boleto.Banco.Codigo == 1 & (Boleto.Carteira.Equals("17-019") | Boleto.Carteira.Equals("18-019")) ? Boleto.NossoNumero.Substring(3) : string.Empty)
                   #endregion Implementação para o Banco do Brasil

                   .Replace("@NOSSONUMERO", Boleto.NossoNumero)
                   .Replace("@CARTEIRA", FormataDescricaoCarteira())
                   .Replace("@ESPECIE", Boleto.Especie)
                   .Replace("@QUANTIDADE", (Boleto.QuantidadeMoeda == 0 ? "" : Boleto.QuantidadeMoeda.ToString()))
                   .Replace("@VALORDOCUMENTO", Boleto.ValorMoeda)
                   .Replace("@=VALORDOCUMENTO", (Boleto.ValorBoleto == 0 ? "" : Boleto.ValorBoleto.ToString("R$ ##,##0.00")))
                   .Replace("@VALORCOBRADO", (Boleto.ValorCobrado == 0 ? "" : Boleto.ValorCobrado.ToString("R$ ##,##0.00")))
                   .Replace("@OUTROSACRESCIMOS", "")
                   .Replace("@OUTRASDEDUCOES", "")
                   .Replace("@DESCONTOS", (Boleto.ValorDesconto == 0 ? "" : Boleto.ValorDesconto.ToString("R$ ##,##0.00")))
                   .Replace("@AGENCIACONTA", agenciaCodigoCedente)
                   .Replace("@SACADO", sacado)
                   .Replace("@INFOSACADO", infoSacado)
                   .Replace("@AGENCIACODIGOCEDENTE", agenciaCodigoCedente)
                   .Replace("@CPFCNPJ", Cedente.CPFCNPJ)
                   .Replace("@MORAMULTA", (Boleto.ValorMulta == 0 ? "" : Boleto.ValorMulta.ToString("R$ ##,##0.00")))
                   .Replace("@AUTENTICACAOMECANICA", "")
                   .Replace("@USODOBANCO", Boleto.UsoBanco)
                   .Replace("@IMAGEMCODIGOBARRA", imagemCodigoBarras)
                   .Replace("@ACEITE", Boleto.Aceite).ToString()
                   .Replace("@ENDERECOCEDENTE", MostrarEnderecoCedente ? enderecoCedente : ""));
        }
Esempio n. 10
0
 public Boleto(DateTime dataVencimento, double valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento);
Esempio n. 11
0
        public Boleto(DateTime dataVencimento, double valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento)
        {
            _carteira       = carteira;
            _nossoNumero    = nossoNumero;
            _dataVencimento = dataVencimento;
            _valorBoleto    = valorBoleto;
            _valorBoleto    = valorBoleto;

            _cedente = cedente;

            _especieDocumento = especieDocumento;
        }
Esempio n. 12
0
        public void GeraBoletoBNB(int qtde)
        {
                        // Cria o boleto, e passa os parâmetros usuais
            BoletoBancario bb;

            List<BoletoBancario> boletos = new List<BoletoBancario>();
            for (int i = 0; i < qtde; i++)
            {
                bb = new BoletoBancario();
                bb.CodigoBanco = _codigoBanco;

                ContaBancaria conta = new ContaBancaria();
                conta.Agencia = "21";
                conta.DigitoAgencia = "0";
                conta.Conta = "12717";
                conta.DigitoConta = "8";

                Cedente c = new Cedente();
                c.ContaBancaria = conta;
                c.CPFCNPJ = "00.000.000/0000-00";
                c.Nome = "Empresa de Atacado";

                Boleto b = new Boleto();
                b.Cedente = c;
                //
                b.DataProcessamento = DateTime.Now;
                b.DataVencimento = DateTime.Now.AddDays(15);
                b.ValorBoleto = Convert.ToDecimal(1);
                b.Carteira = "4";
                b.NossoNumero = "7777777";
                b.NumeroDocumento = "2525";
                //
                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 = "RS";

                b.Banco = new Banco(004);

                EspecieDocumento especiedocumento = new EspecieDocumento(004, "1");//Duplicata Mercantil
                b.EspecieDocumento = especiedocumento;

                bb.Boleto = b;
                bb.Boleto.Valida();
                boletos.Add(bb);
            }
            GeraLayout(boletos);


        }
Esempio n. 13
0
        public void GeraDadosBancoDoNordeste()
        {
            ContaBancaria conta = new ContaBancaria();
            conta.Agencia = "21";
            conta.DigitoAgencia = "0";
            conta.Conta = "12717";
            conta.DigitoConta = "8";

            Cedente c = new Cedente();
            c.ContaBancaria = conta;
            c.CPFCNPJ = "00.000.000/0000-00";
            c.Nome = "Empresa de Atacado";

            Boleto b = new Boleto();
            b.Cedente = c;
            //
            b.DataProcessamento = DateTime.Now;
            b.DataVencimento = DateTime.Now.AddDays(15);
            b.ValorBoleto = Convert.ToDecimal(1);
            b.Carteira = "4";
            b.NossoNumero = "7777777";
            b.NumeroDocumento = "2525";
            //
            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 = "RS";

            b.Banco = new Banco(004);

            EspecieDocumento especiedocumento = new EspecieDocumento(004, "1");//Duplicata Mercantil
            b.EspecieDocumento = especiedocumento;

            #region Dados para Remessa:
            b.Remessa = new Remessa();
            b.Remessa.TipoDocumento = "A";
            #endregion


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

            GeraArquivoCNAB400(b.Banco, c, boletos);
        }
Esempio n. 14
0
        //private string MontaHtml(string urlImagemCorte, string urlImagemLogo, string urlImagemBarra, string urlImagemPonto, string urlImagemBarraInterna, string imagemCodigoBarras)
        private string MontaHtml(string urlImagemLogo, string urlImagemBarra, string imagemCodigoBarras)
        {
            StringBuilder html = new StringBuilder();

            //Oculta o cabeçalho das instruções do boleto
            if (!OcultarInstrucoes)
            {
                html.Append(GeraHtmlInstrucoes());
            }

            //Mostra o comprovante de entrega
            if (MostrarComprovanteEntrega)
            {
                html.Append(HtmlComprovanteEntrega);
            }

            //Oculta o recibo do sacabo do boleto
            if (!OcultarReciboSacado)
            {
                html.Append(GeraHtmlReciboSacado());
            }

            string sacado = "";

            //Flavio([email protected]) - adicionei a possibilidade de o boleto não ter, necessáriamente, que informar o CPF ou CNPJ do sacado.
            //Formata o CPF/CNPJ(se houver) e o Nome do Sacado para apresentação
            if (Sacado.CPFCNPJ == string.Empty)
            {
                sacado = Sacado.Nome;
            }
            else
            {
                if (Sacado.CPFCNPJ.Length <= 11)
                {
                    sacado = string.Format("{0}  CPF: {1}", Sacado.Nome, Utils.FormataCPF(Sacado.CPFCNPJ));
                }
                else
                {
                    sacado = string.Format("{0}  CNPJ: {1}", Sacado.Nome, Utils.FormataCNPJ(Sacado.CPFCNPJ));
                }
            }

            String infoSacado = Sacado.InformacoesSacado.GeraHTML(false);

            //Caso não oculte o Endereço do Sacado,
            if (!OcultarEnderecoSacado)
            {
                String enderecoSacado = "";

                if (Sacado.Endereco.CEP == String.Empty)
                {
                    enderecoSacado = string.Format("{0} - {1}/{2}", Sacado.Endereco.Bairro, Sacado.Endereco.Cidade, Sacado.Endereco.UF);
                }
                else
                {
                    enderecoSacado = string.Format("{0} - {1}/{2} - CEP: {3}", Sacado.Endereco.Bairro,
                                                   Sacado.Endereco.Cidade, Sacado.Endereco.UF, Utils.FormataCEP(Sacado.Endereco.CEP));
                }

                if (Sacado.Endereco.End != string.Empty && enderecoSacado != string.Empty)
                {
                    if (infoSacado == string.Empty)
                    {
                        infoSacado += InfoSacado.Render(Sacado.Endereco.End, enderecoSacado, false);
                    }
                    else
                    {
                        infoSacado += InfoSacado.Render(Sacado.Endereco.End, enderecoSacado, true);
                    }
                }
                //"Informações do Sacado" foi introduzido para possibilitar que o boleto na informe somente o endereço do sacado
                //como em outras situaçoes onde se imprime matriculas, codigos e etc, sobre o sacado.
                //Sendo assim o endereço do sacado passa a ser uma Informaçao do Sacado que é adicionada no momento da renderização
                //de acordo com a flag "OcultarEnderecoSacado"
            }

            string agenciaConta = Utils.FormataAgenciaConta(Cedente.ContaBancaria.Agencia, Cedente.ContaBancaria.DigitoAgencia, Cedente.ContaBancaria.Conta, Cedente.ContaBancaria.DigitoConta);

            // Trecho adicionado por Fabrício Nogueira de Almeida :fna - [email protected] - 09/12/2008

            /* Esse código foi inserido pq no campo Agência/Cod Cedente, estava sendo impresso sempre a agência / número da conta
             * No boleto da caixa que eu fiz, coloquei no método validarBoleto um trecho para calcular o dígito do cedente, e adicionei esse atributo na classe cedente
             * O trecho abaixo testa se esse digito foi calculado, se foi insere no campo Agencia/Cod Cedente, a agência e o código com seu digito
             * caso contrário mostra a agência / conta, como era anteriormente.
             * Com esse código ele ira atender as necessidades do boleto caixa e não afetará os demais
             * Caso queira que apareça o Agência/cod. cedente para outros boletos, basta calcular e setar o digito, como foi feito no boleto Caixa
             */

            string agenciaCodigoCedente;

            if (!Cedente.DigitoCedente.Equals(-1))
            {
                agenciaCodigoCedente = string.Format("{0}/{1}-{2}", Cedente.ContaBancaria.Agencia, Utils.FormatCode(Cedente.Codigo.ToString(), 6), Cedente.DigitoCedente.ToString());
            }
            else
            {
                agenciaCodigoCedente = agenciaConta;
            }

            html.Append(GeraHtmlReciboCedente());

            string dataVencimento = Boleto.DataVencimento.ToString("dd/MM/yyyy");

            if (MostrarContraApresentacaoNaDataVencimento)
            {
                dataVencimento = "Contra Apresentação";
            }

            return(html.ToString()
                   .Replace("@CODIGOBANCO", Utils.FormatCode(_ibanco.Codigo.ToString(), 3))
                   .Replace("@DIGITOBANCO", _ibanco.Digito.ToString())
                   //.Replace("@URLIMAGEMBARRAINTERNA", urlImagemBarraInterna)
                   //.Replace("@URLIMAGEMCORTE", urlImagemCorte)
                   //.Replace("@URLIMAGEMPONTO", urlImagemPonto)
                   .Replace("@URLIMAGEMLOGO", urlImagemLogo)
                   .Replace("@URLIMAGEMBARRA", urlImagemBarra)
                   .Replace("@LINHADIGITAVEL", Boleto.CodigoBarra.LinhaDigitavel)
                   .Replace("@LOCALPAGAMENTO", Boleto.LocalPagamento)
                   .Replace("@DATAVENCIMENTO", dataVencimento)
                   .Replace("@CEDENTE", Cedente.Nome)
                   .Replace("@DATADOCUMENTO", Boleto.DataDocumento.ToString("dd/MM/yyyy"))
                   .Replace("@NUMERODOCUMENTO", Boleto.NumeroDocumento)
                   .Replace("@ESPECIEDOCUMENTO", EspecieDocumento.ValidaSigla(Boleto.EspecieDocumento))
                   .Replace("@DATAPROCESSAMENTO", Boleto.DataProcessamento.ToString("dd/MM/yyyy"))
                   .Replace("@NOSSONUMERO", Boleto.NossoNumero)
                   .Replace("@CARTEIRA", (MostrarCodigoCarteira ? string.Format("{0} - {1}", Boleto.Carteira.ToString(), new Carteira_Santander(Utils.ToInt32(Boleto.Carteira)).Codigo) : Boleto.Carteira.ToString()))
                   .Replace("@ESPECIE", Boleto.Especie)
                   .Replace("@QUANTIDADE", (Boleto.QuantidadeMoeda == 0 ? "" : Boleto.QuantidadeMoeda.ToString()))
                   .Replace("@VALORDOCUMENTO", Boleto.ValorMoeda)
                   .Replace("@=VALORDOCUMENTO", (Boleto.ValorBoleto == 0 ? "" : Boleto.ValorBoleto.ToString("R$ ##,##0.00")))
                   .Replace("@VALORCOBRADO", "")
                   .Replace("@OUTROSACRESCIMOS", "")
                   .Replace("@OUTRASDEDUCOES", "")
                   .Replace("@DESCONTOS", "")
                   .Replace("@AGENCIACONTA", agenciaCodigoCedente)
                   .Replace("@SACADO", sacado)
                   .Replace("@INFOSACADO", infoSacado)
                   .Replace("@AGENCIACODIGOCEDENTE", agenciaCodigoCedente)
                   .Replace("@CPFCNPJ", Cedente.CPFCNPJ)
                   .Replace("@MORAMULTA", "")
                   .Replace("@AUTENTICACAOMECANICA", "")
                   .Replace("@USODOBANCO", Boleto.UsoBanco)
                   .Replace("@IMAGEMCODIGOBARRA", imagemCodigoBarras));
        }
Esempio n. 15
0
 public Boleto(ListaBancos banco, DateTime dataVencimento, decimal valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento = null)
     : this((short)banco, dataVencimento, valorBoleto, carteira, nossoNumero, cedente, especieDocumento)
 {
 }
Esempio n. 16
0
 public Boleto(ListaBancos banco, DateTime dataVencimento, decimal valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento = null)
     : this((short)banco, dataVencimento, valorBoleto, carteira, nossoNumero, cedente, especieDocumento)
 {
 }
Esempio n. 17
0
        public Boleto(DateTime dataVencimento, decimal valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento)
        {
            this._carteira       = carteira;
            this._nossoNumero    = nossoNumero;
            this._dataVencimento = dataVencimento;
            this._valorBoleto    = valorBoleto;
            this._valorBoleto    = valorBoleto;
            this._valorCobrado   = this.ValorCobrado;
            this._cedente        = cedente;

            this._especieDocumento = especieDocumento;
        }
Esempio n. 18
0
 public void setEspecieDocumentoGx(EspecieDocumento especieDocumento)
 {
     this.EspecieDocumento = especieDocumento;
 }