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"); }
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"); }
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); }
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"); }
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"); }
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"); }
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; }
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"); }
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"); }
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); }
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 }
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"); }
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"); }
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"); }
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(); }
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(); }
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 }
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; }
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; }
/// <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; }
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 }
public ReciboLateralCarne(Boleto boleto, byte[] logo) { this.logo = logo; this.boleto = boleto; }
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); }
/// <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); }
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
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); }
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); }
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; }
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 ); }
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; } }
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); }
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); }
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); }
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); }
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"); }
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á " + aluno.nome + "</strong><BR><BR>Será um prazer recebê-lo(a) no nosso curso Pré-Congresso sobre 'Transtornos Mentais Relacionados ao Trabalho'.<BR><BR>Forma de Pagamento:Boleto Bancá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ção somente será confirmada após realização do pagamento.<BR><BR>Estamos à disposiçã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 | </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á " + aluno.nome + "</strong><BR><BR>Será um prazer recebê-lo(a) no nosso curso Pré-Congresso sobre 'Exame Psíquico'.<BR><BR>Forma de Pagamento:Boleto Bancá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ção somente será confirmada após realização do pagamento.<BR><BR>Estamos à disposiçã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 | </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á " + aluno.nome + "</strong><BR><BR>Será um prazer recebê-lo(a) no " + curso.titulo + ".<BR><BR>Forma de Pagamento:Boleto Bancá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ção somente será confirmada após realização do pagamento.<BR><BR>Estamos à disposiçã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 | </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); }
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(" ","") ; //var pg = MvcHtmlString.Create(html.ToString()); return(html.ToString()); //return pg.ToHtmlString(); }
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(); }
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); }
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()); }
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); }
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(); }
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!"); }
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."); } }
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); }
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; } } }