forked from BoletoNet/BoletoNetCore
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Utils.cs
122 lines (113 loc) · 4.51 KB
/
Utils.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
using System;
using System.IO;
using System.Text;
namespace BoletoNetCore.QuestPDF.AppTeste
{
internal sealed class Utils
{
private static int _contador = 1;
private static int _proximoNossoNumero = 1;
internal static Beneficiario GerarBeneficiario(string codigoBeneficiario, string digitoCodigoBeneficiario, string codigoTransmissao, ContaBancaria contaBancaria)
{
return new Beneficiario
{
CPFCNPJ = "86.875.666/0001-09",
Nome = "Beneficiario Teste",
Codigo = codigoBeneficiario,
CodigoDV = digitoCodigoBeneficiario,
CodigoTransmissao = codigoTransmissao,
Endereco = new Endereco
{
LogradouroEndereco = "Rua Teste do Beneficiário",
LogradouroNumero = "789",
LogradouroComplemento = "Cj 333",
Bairro = "Bairro",
Cidade = "Cidade",
UF = "SP",
CEP = "65432987"
},
ContaBancaria = contaBancaria
};
}
internal static Pagador GerarPagador()
{
if (_contador % 2 == 0)
return new Pagador
{
CPFCNPJ = "443.316.101-28",
Nome = "Pagador Teste PF",
Observacoes = "Matricula 678/9",
Endereco = new Endereco
{
LogradouroEndereco = "Rua Testando",
LogradouroNumero = "456",
Bairro = "Bairro",
Cidade = "Cidade",
UF = "SP",
CEP = "56789012"
}
};
return new Pagador
{
CPFCNPJ = "71.738.978/0001-01",
Nome = "Pagador Teste PJ",
Observacoes = "Matricula 123/4",
Endereco = new Endereco
{
LogradouroEndereco = "Avenida Testando",
LogradouroNumero = "123",
Bairro = "Bairro",
Cidade = "Cidade",
UF = "SP",
CEP = "12345678"
}
};
}
internal static Boletos GerarBoletos(IBanco banco, int quantidadeBoletos, string aceite, int NossoNumeroInicial)
{
var boletos = new Boletos
{
Banco = banco
};
for (var i = 1; i <= quantidadeBoletos; i++)
boletos.Add(GerarBoleto(banco, i, aceite, NossoNumeroInicial));
return boletos;
}
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)
{
Pagador = GerarPagador(),
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)),
AvisoDebitoAutomaticoContaCorrente = "2",
MensagemArquivoRemessa = "Mensagem para o arquivo remessa",
NumeroControleParticipante = "CHAVEPRIMARIA" + _proximoNossoNumero
};
// Mensagem - Instruções do Caixa
boleto.ImprimirValoresAuxiliares = true;
boleto.ValidarDados();
_contador++;
_proximoNossoNumero++;
return boleto;
}
}
}