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; }
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(); }
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); }
public Boleto(DateTime dataVencimento, double valorBoleto, string carteira, string nossoNumero, Cedente cedente, EspecieDocumento especieDocumento);
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); }
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); }
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); }
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 : "")); }
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; }
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); }
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); }
//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)); }
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) { }
public void setEspecieDocumentoGx(EspecieDocumento especieDocumento) { this.EspecieDocumento = especieDocumento; }