//Classe para gerar novo boleto public static BoletoBancario VisualizarBoleto() { Atributos Acessando = BoletoDAL.CarregarDadosBoleto(Usuario.Bloco, Usuario.Apartamento, Usuario.CodMorador); Acessando.Pago = 0; Acessando.VenciBoleto = DateTime.Now.Date.AddDays(15); Acessando.EmissaoBoleto = DateTime.Now.Date; String DataBlt = Convert.ToString(DateTime.Now.ToShortDateString()); Random aleatorio = new Random(); //int oi = aleatorio.Next(9); //int digito = int digito = DigitoVerificador.DigitoModulo11(aleatorio.Next(9)); Acessando.NumeroDocumento = DataBlt.Replace("/", "") + Usuario.Apartamento + Usuario.Bloco + digito; //############################################### //Informa os dados do cedente Cedente DadosCedente; //DadosCedente = new Cedente(txtCPFCNPJ.Text, txtNomeCedente.Text, txtAgenciaCendente.Text, txtContaCedente.Text); DadosCedente = new Cedente(Acessando.CnpjCondominio, Acessando.NomeCondominio, Acessando.AgenciaCondominio, Acessando.ContaCondominio); //Dependendo da carteira, é necessário informar o código do cedente (o banco que fornece) DadosCedente.Codigo = Convert.ToString(Acessando.CodCondominio); //'Dados para preenchimento do boleto (data de vencimento, valor, carteira e nosso número) Boleto boleto; boleto = new BoletoNet.Boleto(Convert.ToDateTime(Acessando.VenciBoleto), Convert.ToDecimal(Acessando.ValorBoleto), "09", Acessando.NossoNumero, DadosCedente); // 'Dependendo da carteira, é necessário o número do documento boleto.NumeroDocumento = Acessando.NumeroDocumento; //Informa os dados do sacado boleto.Sacado = new Sacado(Acessando.CpfMorador, Acessando.NomeMorador); boleto.Sacado.Endereco.End = Acessando.EndMorador; boleto.Sacado.Endereco.Bairro = Acessando.BairroMorador; boleto.Sacado.Endereco.Cidade = Acessando.CidadeMorador; boleto.Sacado.Endereco.CEP = Acessando.CepMorador; boleto.Sacado.Endereco.UF = Acessando.UfMorador; /* Dim i As New Instrucao_Bradesco() i.Descricao = "Não Receber após o vencimento" b.Instrucoes.Add(i) */ Instrucao_Bradesco insBoleto; insBoleto = new Instrucao_Bradesco(); insBoleto.Descricao = Acessando.Instrucao1 + "<br />" + Acessando.Instrucao2 + "<br />" + Acessando.Instrucao3 + "<br />" + Acessando.Instrucao4 + "<br />" + Acessando.Instrucao5 + "<br/>"; boleto.Instrucoes.Add(insBoleto); /* 'Espécie do Documento - [R] Recibo b.EspecieDocumento = New EspecieDocumento_Bradesco(17) Dim bb As New BoletoBancario() bb.CodigoBanco = 237 '-> Referente ao código do Santander bb.Boleto = b ' bb.GeraImagemCodigoBarras(b) */ boleto.EspecieDocumento = new EspecieDocumento_Bradesco("17"); BoletoBancario boletob; boletob = new BoletoBancario(); boletob.CodigoBanco = 237; // CODIGO DO BANCO boletob.Boleto = boleto; boletob.GeraImagemCodigoBarras(boleto); //bb.Boleto.Valida() boletob.Boleto.Valida(); BoletoDAL.GravarTbFatura(); //true -> Mostra o compravante de entrega //false -> Oculta o comprovante de entrega //teste.testandopanel.Visible = true; //teste.testandopanel.Controls.Add(boletob); return boletob; //boletob.MostrarComprovanteEntrega = true; //b.panelBoleto.Visible = true; //if (panelBoleto.Controls.Count == 0) //{ //b.panelBoleto.Controls.Add(boletob); //}; }
// List<BoletoBancario> boletos public string BoletoImprimir() { 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(); }
//classe para gerar boleto a partir da grid public static BoletoBancario VisualizarBoletoGrid() { //carregando os dados do banco para geração do boleto Morador = BoletoDAL.GerarBoletoGrid(Usuario.NumDocumento,/*Usuario.EmissaoBoleto,Usuario.VencimentoBoleto,*/ Usuario.Bloco, Usuario.Apartamento, Usuario.CodMorador); if (Morador != null) { DateTime DataAtual = DateTime.Today; if (DataAtual > Convert.ToDateTime(Morador.VenciBoleto)) { int diascorridos = BoletoDAL.GetDiasCorridos(Morador.VenciBoleto, DataAtual); //passando os dados do banco para o objeto cedente para criação do boleto Cedente DadosCedente; DadosCedente = new Cedente(Morador.CnpjCondominio, Morador.NomeCondominio, Morador.AgenciaCondominio, Morador.ContaCondominio); DadosCedente.Codigo = Convert.ToString(Morador.CodCondominio); Boleto boleto; //removendo o digito verificado do numerodocumento String NossoNumero = Morador.NumeroDocumento; if (NossoNumero.Length != 8) { NossoNumero = NossoNumero.Remove(8); } //calculando data do novo vencimento . data atual+15dias //String DataVencimento = DateTime.Today.AddDays(15).ToString("dd/MM/yyyy"); String DataVencimento = DateTime.Today.ToString("dd/MM/yyyy"); //passando os dados do banco para o objeto boleto boleto = new BoletoNet.Boleto(Convert.ToDateTime(DataVencimento), Convert.ToDecimal(Morador.ValorBoleto), "09", NossoNumero, DadosCedente); //correção monetaria + multa + juros Double Correção = BoletoDAL.CorreçãoMonetaria(Morador.ValorBoleto, Morador.VenciBoleto); Morador.ValorBoleto = Morador.ValorBoleto + Correção; int mesescorridos = BoletoDAL.CalcularMesesPassados(DateTime.Today, Morador.VenciBoleto); Decimal JurosMora = Convert.ToDecimal(Morador.ValorBoleto) * 1 / 100;// 1% do valor , divido por 30; Decimal juros = JurosMora / 30 * diascorridos; Decimal juroMultacorrigido = Convert.ToDecimal(Morador.ValorBoleto) * 2 / 100; boleto.ValorBoleto = Convert.ToDecimal(Morador.ValorBoleto) + Convert.ToDecimal(juroMultacorrigido) + Convert.ToDecimal(juros); boleto.Carteira = "175"; boleto.Especie = "R$"; boleto.NumeroDocumento = NossoNumero; //passando dados sacado para o objeto boleto boleto.Sacado = new Sacado(Morador.CpfMorador, Morador.NomeMorador); boleto.Sacado.Endereco.End = Morador.EndMorador; boleto.Sacado.Endereco.Bairro = Morador.BairroMorador; boleto.Sacado.Endereco.Cidade = Morador.CidadeMorador; boleto.Sacado.Endereco.CEP = Morador.CepMorador; boleto.Sacado.Endereco.UF = Morador.UfMorador; Instrucao_Itau InsBoleto = new Instrucao_Itau(); InsBoleto.Descricao = "APÓS O VENCIMENTO COBRAR MULTA DE 2% + 1% DE JUROS AO MÊS." + "<BR>" + "NÃO RECEBER 15 DIAS APOS O VENCIMENTO"; boleto.Instrucoes.Add(InsBoleto); //parametros do objeto boleto banco boleto.EspecieDocumento = new EspecieDocumento_Itau("DM"); BoletoBancario boletob; boletob = new BoletoBancario(); boletob.CodigoBanco = 341; boletob.Boleto = boleto; boletob.GeraImagemCodigoBarras(boleto); boletob.Boleto.Valida(); Usuario.NumDocumento = null; Usuario.EmissaoBoleto = null; Usuario.VencimentoBoleto = null; return boletob; } else { //passando os dados do banco para o objeto cedente para criação do boleto Cedente DadosCedente; DadosCedente = new Cedente(Morador.CnpjCondominio, Morador.NomeCondominio, Morador.AgenciaCondominio, Morador.ContaCondominio); DadosCedente.Codigo = Convert.ToString(Morador.CodCondominio); Boleto boleto; //removendo o digito verificado do numerodocumento String NossoNumero = Morador.NumeroDocumento; if (NossoNumero.Length != 8) { NossoNumero = NossoNumero.Remove(8); } //passando os dados do banco para o objeto boleto boleto = new BoletoNet.Boleto(Convert.ToDateTime(Morador.VenciBoleto), Convert.ToDecimal(Morador.ValorBoleto), "09", NossoNumero, DadosCedente); boleto.ValorBoleto = Convert.ToDecimal(Morador.ValorBoleto); boleto.Carteira = "175"; boleto.Especie = "R$"; boleto.NumeroDocumento = NossoNumero; //passando dados sacado para o objeto boleto boleto.Sacado = new Sacado(Morador.CpfMorador, Morador.NomeMorador); boleto.Sacado.Endereco.End = Morador.EndMorador; boleto.Sacado.Endereco.Bairro = Morador.BairroMorador; boleto.Sacado.Endereco.Cidade = Morador.CidadeMorador; boleto.Sacado.Endereco.CEP = Morador.CepMorador; boleto.Sacado.Endereco.UF = Morador.UfMorador; Instrucao_Itau InsBoleto = new Instrucao_Itau(); String DataVencimento = Morador.VenciBoleto.ToString("dd/MM/yyyy"); string mensagem = ""; if (Morador.DescontoCondominio != 0) { mensagem = "APÓS O VENCIMENTO COBRAR MULTA DE 2% + 1% DE JUROS AO MÊS. <br /> NÃO RECEBER APOS 15 DIAS DO VENCIMENTO. <br /> ATÉ A DATA DO VENCIMENTO CONCEDER DESCONTO DE " + Morador.DescontoCondominio + " R$ "; /* "<br>" + Morador.Instrucao1 + "<br />" + Morador.Instrucao2 + "<br />" + Morador.Instrucao3 + "<br />" + Morador.Instrucao4 + "<br />" + Morador.Instrucao5 + "<br/>"; */ } else { mensagem = "APÓS O VENCIMENTO COBRAR MULTA DE 2% + 1% DE JUROS AO MÊS." + "<br /> NÃO RECEBER APOS 15 DIAS DO VENCIMENTO."; } InsBoleto.Descricao = mensagem; boleto.Instrucoes.Add(InsBoleto); //parametros do objeto boleto banco boleto.EspecieDocumento = new EspecieDocumento_Itau("DM"); BoletoBancario boletob; boletob = new BoletoBancario(); boletob.CodigoBanco = 341; boletob.Boleto = boleto; boletob.GeraImagemCodigoBarras(boleto); boletob.Boleto.Valida(); Usuario.NumDocumento = null; Usuario.EmissaoBoleto = null; Usuario.VencimentoBoleto = null; return boletob; } } else { return null; } }
public static BoletoBancario VisualizarBoleto() { Morador = BoletoDAL.CarregarDadosBoletoFatura(Usuario.Bloco, Usuario.Apartamento, Usuario.CodMorador); if (Morador != null) { int diascorridos; DateTime DataAtual = DateTime.Today; if (DataAtual > Convert.ToDateTime(Morador.VenciBoleto)) { diascorridos = BoletoDAL.GetDiasCorridos(Morador.VenciBoleto, DataAtual); Cedente DadosCedente; DadosCedente = new Cedente(Morador.CnpjCondominio, Morador.NomeCondominio, Morador.AgenciaCondominio, Morador.ContaCondominio); DadosCedente.Codigo = Convert.ToString(Morador.CodCondominio); Boleto boleto; boleto = new BoletoNet.Boleto(Convert.ToDateTime(Morador.VenciBoleto), Convert.ToDecimal(Morador.ValorBoleto), "09", Morador.NossoNumero, DadosCedente); BoletoDAL.CorreçãoMonetaria(Morador.ValorBoleto, Morador.VenciBoleto); boleto.JurosMora = Convert.ToDecimal(Morador.ValorBoleto * 1 / 100); // 1% do valor , divido por 30; boleto.ValorMulta = Convert.ToDecimal(Morador.ValorBoleto * 2 / 100); boleto.ValorCobrado = Convert.ToDecimal(Morador.ValorBoleto) + diascorridos * boleto.JurosMora + boleto.ValorMulta; //******* boleto.Carteira = "06"; boleto.Especie = "R$"; //******* // 'Dependendo da carteira, é necessário o número do documento boleto.NumeroDocumento = Morador.NumeroDocumento; //Informa os dados do sacado boleto.Sacado = new Sacado(Morador.CpfMorador, Morador.NomeMorador); boleto.Sacado.Endereco.End = Morador.EndMorador; boleto.Sacado.Endereco.Bairro = Morador.BairroMorador; boleto.Sacado.Endereco.Cidade = Morador.CidadeMorador; boleto.Sacado.Endereco.CEP = Morador.CepMorador; boleto.Sacado.Endereco.UF = Morador.UfMorador; Instrucao_Bradesco insBoleto; insBoleto = new Instrucao_Bradesco(); insBoleto.Descricao = "MULTA POR ATRASO R$ "+Convert.ToString(boleto.ValorMulta)+"<br>"+"JUROS POR DIA R$ "+Convert.ToString(boleto.JurosMora)+"<br>"+Morador.Instrucao1 + "<br />" + Morador.Instrucao2 + "<br />" + Morador.Instrucao3 + "<br />" + Morador.Instrucao4 + "<br />" + Morador.Instrucao5 + "<br/>"; boleto.Instrucoes.Add(insBoleto); boleto.EspecieDocumento = new EspecieDocumento_Bradesco("17"); BoletoBancario boletob; boletob = new BoletoBancario(); boletob.CodigoBanco = 237; // CODIGO DO BANCO boletob.Boleto = boleto; boletob.GeraImagemCodigoBarras(boleto); boletob.Boleto.Valida(); return boletob; } else { //Informa os dados do cedente Cedente DadosCedente; //DadosCedente = new Cedente(txtCPFCNPJ.Text, txtNomeCedente.Text, txtAgenciaCendente.Text, txtContaCedente.Text); DadosCedente = new Cedente(Morador.CnpjCondominio, Morador.NomeCondominio, Morador.AgenciaCondominio, Morador.ContaCondominio); //Dependendo da carteira, é necessário informar o código do cedente (o banco que fornece) DadosCedente.Codigo = Convert.ToString(Morador.CodCondominio); //'Dados para preenchimento do boleto (data de vencimento, valor, carteira e nosso número) Boleto boleto; boleto = new BoletoNet.Boleto(Convert.ToDateTime(Morador.VenciBoleto), Convert.ToDecimal(Morador.ValorBoleto), "09", Morador.NossoNumero, DadosCedente); /* boleto.JurosMora = Convert.ToDecimal(1.00); boleto.ValorMulta = Convert.ToDecimal(2.00); boleto.ValorCobrado = Convert.ToDecimal(Morador.ValorBoleto) + resultado * boleto.ValorMulta + boleto.JurosMora; */ //******* boleto.Carteira = "06"; boleto.Especie = "R$"; //******* // 'Dependendo da carteira, é necessário o número do documento boleto.NumeroDocumento = Morador.NumeroDocumento; //Informa os dados do sacado boleto.Sacado = new Sacado(Morador.CpfMorador, Morador.NomeMorador); boleto.Sacado.Endereco.End = Morador.EndMorador; boleto.Sacado.Endereco.Bairro = Morador.BairroMorador; boleto.Sacado.Endereco.Cidade = Morador.CidadeMorador; boleto.Sacado.Endereco.CEP = Morador.CepMorador; boleto.Sacado.Endereco.UF = Morador.UfMorador; Instrucao_Bradesco insBoleto; insBoleto = new Instrucao_Bradesco(); insBoleto.Descricao = Morador.Instrucao1 + "<br />" + Morador.Instrucao2 + "<br />" + Morador.Instrucao3 + "<br />" + Morador.Instrucao4 + "<br />" + Morador.Instrucao5 + "<br/>"; boleto.Instrucoes.Add(insBoleto); boleto.EspecieDocumento = new EspecieDocumento_Bradesco("17"); BoletoBancario boletob; boletob = new BoletoBancario(); boletob.CodigoBanco = 237; // CODIGO DO BANCO boletob.Boleto = boleto; boletob.GeraImagemCodigoBarras(boleto); boletob.Boleto.Valida(); return boletob; } } else { return null; } }