예제 #1
0
        internal static Boleto GerarBoleto(Boleto boleto)
        {
            var aceite = boleto.Aceite;

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

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

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

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

            boleto.FormataDados();
            _contador++;
            _proximoNossoNumero++;
            return(boleto);
        }
        internal static Boleto GerarBoleto(Banco banco, int i, string aceite)
        {
            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                = (223344 + _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);
        }
예제 #3
0
        internal static Boleto GerarBoleto(Banco banco, int i)
        {
            var boleto = new Boleto
            {
                Banco                      = banco,
                Sacado                     = Utils.GerarSacado(),
                DataEmissao                = DateTime.Now.AddDays(-3),
                DataProcessamento          = DateTime.Now,
                DataVencimento             = DateTime.Now.AddMonths(i),
                ValorTitulo                = (decimal)100 * i,
                NossoNumero                = (223344 + proximoNossoNumero).ToString(),
                NumeroDocumento            = "BB" + proximoNossoNumero.ToString("D6") + (char)(64 + i),
                EspecieDocumento           = TipoEspecieDocumento.DM,
                Aceite                     = (contador % 2) == 0 ? "N" : "A",
                CodigoInstrucao1           = "11",
                CodigoInstrucao2           = "22",
                DataDesconto               = DateTime.Now.AddMonths(i),
                ValorDesconto              = (decimal)(100 * i * 0.10),
                DataMulta                  = DateTime.Now.AddMonths(i),
                PercentualMulta            = (decimal)0.02,
                ValorMulta                 = (decimal)(100 * i * 0.02),
                DataJuros                  = DateTime.Now.AddMonths(i),
                PercentualJurosDia         = (decimal)0.002,
                ValorJurosDia              = (decimal)(100 * i * 0.002),
                MensagemArquivoRemessa     = "Mensagem para o arquivo remessa",
                MensagemInstrucoesCaixa    = "Mensagem para instruções do caixa",
                NumeroControleParticipante = "CHAVEPRIMARIA=" + proximoNossoNumero.ToString()
            };

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

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

            boleto.ValidarDados();
            contador++;
            proximoNossoNumero++;
            return(boleto);
        }