コード例 #1
0
ファイル: Main.cs プロジェクト: ericvalenzi/boletonet
        public void GeraDadosCaixa()
        {
            ContaBancaria conta = new ContaBancaria();

            conta.OperacaConta  = "OPE";
            conta.Agencia       = "3792";
            conta.DigitoAgencia = "0";
            conta.Conta         = "1031";
            conta.DigitoConta   = "6";
            //
            Cedente c = new Cedente();

            c.ContaBancaria = conta;
            c.CPFCNPJ       = "01.924.069/0001-74";
            c.Nome          = "BRUCAI TRANSPORTES E ARMAZEM GERAIS LTDA";
            //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          = "1";
            b.NossoNumero       = "0000000000006-0";
            b.NumeroDocumento   = "000010333";
            EspecieDocumento ED = new EspecieDocumento(104, "0");

            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);
        }
コード例 #2
0
ファイル: Main.cs プロジェクト: ericvalenzi/boletonet
        public void GeraDadosBB()
        {
            Boletos boletos = new Boletos();

            DateTime vencimento = new DateTime(2003, 5, 15);

            Cedente c = new Cedente("01.924.069/0001-74", "BRUCAI TRANSPORTES E ARMAZEM GERAIS LTDA", "2890", "1108933", "X");

            c.Codigo                      = "2550661";
            c.Convenio                    = 2550661;
            c.CodigoTransmissao           = "";
            c.ContaBancaria.DigitoAgencia = "";
            c.Carteira                    = "17-019";
            //c.CPFCNPJ = "01924069000174";
            //c.ContaBancaria.DigitoConta = "7";
            string[] t1 = new string[2] {
                "25506610000000009", "25506610000000010"
            };
            string[] t2 = new string[2] {
                "000010266", "000010267"
            };

            for (int i = 0; i < 2; i++)
            {
                Boleto b = new Boleto
                {
                    NumeroDocumento = t2[i],
                    Carteira        = "17-019",
                    NossoNumero     = t1[i],
                    Cedente         = c,
                    ValorBoleto     = 515.62m,
                    Sacado          = new Sacado
                    {
                        CPFCNPJ  = "356.733.598-70",
                        Nome     = "ERIC VALENZI FILARDI",
                        Endereco = new Endereco
                        {
                            End    = "RUA VITO LILLA",
                            Bairro = "VILA AUGUSTA",
                            Cidade = "GUARULHOS",
                            CEP    = "07025-040",
                            UF     = "SP"
                        },
                    },
                    Banco             = new Banco(1),
                    DataVencimento    = DateTime.Now,
                    DataProcessamento = DateTime.Now,
                    DataDocumento     = DateTime.Now,
                    PercMulta         = 10.3124m,
                    JurosMora         = 0.3437m,
                    Remessa           = new Remessa()
                    {
                        //NumeroLote = i,
                        TipoDocumento    = "06",
                        CodigoOcorrencia = "01"
                    }
                };
                b.EspecieDocumento = new EspecieDocumento_BancoBrasil("4");
                b.Especie          = "12";
                boletos.Add(b);
            }
            //GeraArquivoCNAB400(new Banco(1), c, boletos, "2550661");
            GeraArquivoCNAB240(new Banco(1), c, boletos);
        }
コード例 #3
0
        private Boletos ConvertInvoiceParcelsInBoleto(Int32 companyId, Int32 accountId, DateTime beginDate,
                                                      DateTime endDate)
        {
            var customerManager = new CustomerManager(this);
            var profileManager = new ProfileManager(this);
            var companyManager = new CompanyManager(this);
            var accountManager = new AccountManager(this);
            Boleto boleto;
            Sacado sacado;
            Endereco endereco;
            var address = new Address();
            Company company = companyManager.GetCompany(companyId);
            Account account = accountManager.GetAccount(accountId, companyId);
            var boletos = new Boletos();

            var cedente = new Cedente(company.LegalEntityProfile.CNPJ, company.LegalEntityProfile.CompanyName,
                                      account.Agency, Convert.ToString(account.AgencyDigit), account.AccountNumber,
                                      Convert.ToString(account.AccountNumberDigit));


            foreach (Parcel parcel in GetOpenInvoiceParcelInPeriodByAccount(companyId, accountId, beginDate, endDate))
            {
                endereco = new Endereco();

                if (parcel.Invoice.Customer.LegalEntityProfileId.HasValue)
                {
                    //Address
                    address = parcel.Invoice.Customer.LegalEntityProfile.Address;

                    endereco.Numero = parcel.Invoice.Customer.LegalEntityProfile.AddressNumber;
                    endereco.Complemento = parcel.Invoice.Customer.LegalEntityProfile.AddressComp;

                    //sacado
                    sacado = new Sacado(parcel.Invoice.Customer.LegalEntityProfile.CNPJ,
                                        parcel.Invoice.Customer.LegalEntityProfile.CompanyName);
                }
                else
                {
                    //Address
                    address = parcel.Invoice.Customer.Profile.Address;

                    endereco.Numero = parcel.Invoice.Customer.Profile.AddressNumber;
                    endereco.Complemento = parcel.Invoice.Customer.Profile.AddressComp;

                    //sacado
                    sacado = new Sacado(parcel.Invoice.Customer.Profile.CPF, parcel.Invoice.Customer.Profile.Name);
                }

                //Address
                endereco.Bairro = address.Neighborhood;
                endereco.CEP = address.PostalCode;
                endereco.Cidade = address.City ?? String.Empty;
                endereco.Logradouro = address.Name;
                endereco.UF = address.State;

                //boleto
                boleto = new Boleto(parcel.DueDate, Convert.ToDouble(parcel.Amount), String.Empty, String.Empty, cedente);

                sacado.Endereco = endereco;

                boleto.Sacado = sacado;

                var instrucao = new Instrucao(Convert.ToInt32(account.Bank.BankNumber));

                var banco = new Banco(Convert.ToInt32(account.Bank.BankNumber));

                instrucao.Banco = banco;
                instrucao.QuantidadeDias = 0;
                instrucao.Descricao = String.Empty;
                instrucao.Codigo = 0;

                boleto.CodigoBarra.LinhaDigitavel = String.Empty;
                boleto.DataDocumento = DateTime.Now;
                boleto.DataVencimento = parcel.DueDate;
                boleto.ValorDesconto = 0;

                boleto.Instrucoes = new List<IInstrucao>();
                boleto.Instrucoes.Add(instrucao);
                boletos.Add(boleto);
            }
            return boletos;
        }
コード例 #4
0
ファイル: Main.cs プロジェクト: ericvalenzi/boletonet
        public void GeraDadosSantander()
        {
            Boletos boletos = new Boletos();

            DateTime vencimento = new DateTime(2003, 5, 15);

            Cedente c = new Cedente("01.924.069/0001-74", "BRUCAI TRANSPORTES E ARMAZEM GERAIS LTDA", "1319", "1300900", "7");

            c.Codigo                      = "9482822";
            c.CodigoTransmissao           = "";
            c.ContaBancaria.DigitoAgencia = "";
            c.DigCedente                  = null;
            c.DigitoCedente               = -1;
            c.Carteira                    = null;
            //c.CPFCNPJ = "01924069000174";
            //c.ContaBancaria.DigitoConta = "7";
            string[] t1 = new string[8] {
                "00000970-9", "00000971-7", "00000972-5", "00000973-3", "00000974-1", "00000975-0", "00000976-8", "00000977-6"
            };
            string[] t2 = new string[8] {
                "000010256", "000010257", "000010258", "000010259", "000010260", "000010261", "000010262", "000010263"
            };

            for (int i = 0; i < 8; i++)
            {
                Boleto b = new Boleto
                {
                    NumeroDocumento = t2[i],
                    Carteira        = "101",
                    NossoNumero     = t1[i],
                    Cedente         = c,
                    ValorBoleto     = 113.6400m,
                    Sacado          = new Sacado
                    {
                        CPFCNPJ  = "18.268.146/0001-88",
                        Nome     = "ARMAZENS VICTORIA LTDAEPP",
                        Endereco = new Endereco
                        {
                            End    = "VIA DAS TORRES S/N",
                            Bairro = "DISTRITO INDUSTRIAL",
                            Cidade = "CANDEIAS",
                            CEP    = "43813-100",
                            UF     = "BA"
                        },
                    },
                    Banco              = new Banco(033),
                    DataVencimento     = DateTime.Now,
                    DataProcessamento  = DateTime.Now,
                    DataDocumento      = DateTime.Now,
                    PercMulta          = 2.2728m,
                    JurosMora          = 0.0011m,
                    TipoImpressao      = "A",
                    Remessa            = null,
                    ModalidadeCobranca = 0,
                    Moeda              = 9,
                    ApenasRegistrar    = false,
                    QuantidadeMoeda    = 1,
                    LocalPagamento     = "Até o vencimento, preferencialmente no ",
                    BancoCarteira      = null,
                    Abatimento         = 0,
                    Aceite             = "N",
                    Avalista           = null,
                    CodJurosMora       = "",
                    Categoria          = 0,
                    DigitoNossoNumero  = "",
                    Especie            = "R$",
                    IOF              = 0,
                    JurosPermanente  = false,
                    NumeroControle   = null,
                    NumeroDiasBaixa  = 0,
                    NumeroParcela    = 0,
                    OutrosAcrescimos = 0,
                    OutrosDescontos  = 0,
                    PercentualIOS    = 0,
                    PercJurosMora    = 0,
                    EspecieDocumento = new EspecieDocumento(33, "1")
                };
                b.EspecieDocumento = new EspecieDocumento_Santander("02");
                boletos.Add(b);
            }

            GeraArquivoCNAB400(new Banco(33), c, boletos, "9482822");
        }
コード例 #5
0
ファイル: Main.cs プロジェクト: richardsonvix/boletonet
        //
        public void GeraDadosItau()
        {
            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.DataVencimento = Convert.ToDateTime("12-12-12");

            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);
            b.Cedente.ContaBancaria.DigitoAgencia = "1";
            b.Cedente.ContaBancaria.DigitoAgencia = "2";

            b.Banco = new Banco(341);

            Boletos boletos = new Boletos();
            boletos.Add(b);

            Boleto b2 = new Boleto(vencimento, 1642, "198", "92082835", c);
            b2.NumeroDocumento = "1008073";

            b2.DataVencimento = Convert.ToDateTime("12-12-12");

            b2.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
            b2.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
            b2.Sacado.Endereco.Bairro = "Testando";
            b2.Sacado.Endereco.Cidade = "Testelândia";
            b2.Sacado.Endereco.CEP = "70000000";
            b2.Sacado.Endereco.UF = "DF";

            item2.Descricao += item2.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b2.Instrucoes.Add(item1);
            b2.Instrucoes.Add(item2);
            b2.Cedente.ContaBancaria.DigitoAgencia = "1";
            b2.Cedente.ContaBancaria.DigitoAgencia = "2";

            b2.Banco = new Banco(341);

            boletos.Add(b2);

            GeraArquivoCNAB400(b2.Banco, c, boletos);
        }
コード例 #6
0
        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;
			}

		}
コード例 #7
0
        public void Bradesco_Carteira_09_ArquivoRemessa()
        {
            Cedente objCEDENTE = new Cedente(
               "12345678000155",
               "TESTE",
               "1111",
               "11234",
               "1"
               );
            objCEDENTE.Codigo = "123456";
            objCEDENTE.Convenio = 9;

            //Inst�ncia 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 n� do documento deve ser de 10 posi��es
            objBOLETO.NumeroDocumento = "1234567890";
            //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 emiss�o 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;

            // 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);

            var mem = new MemoryStream();
            var objREMESSA = new ArquivoRemessa(TipoArquivo.CNAB400);
            objREMESSA.GerarArquivoRemessa("09", new Banco(237), objCEDENTE, objBOLETOS, mem, 1000);


        }
コード例 #8
0
ファイル: Main.cs プロジェクト: richardsonvix/boletonet
        public void GeraDadosSantander()
        {
            Boletos boletos = new Boletos();

            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";

            //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");

            //Espécie Documento - [R] Recibo
            b.EspecieDocumento = new EspecieDocumento_Santander("17");

            boletos.Add(b);

            GeraArquivoCNAB240(new Banco(33), c, boletos);
        }
コード例 #9
0
        public string GerarBoleto()
        {
            //Dados do Cedente
            Boletos boletos = null;

            boletos = new Boletos();

            Conta conta = new Conta();

            conta.BancoNumero       = "237";
            conta.Titular           = "FULANO DE TAL DA SILVA";
            conta.Agencia           = "1234";
            conta.AgenciaDigito     = "X";
            conta.Numero            = "123456";
            conta.NumeroDigito      = "X";
            conta.CarteiraBoleto    = "09";
            conta.VariacaoCarteira  = "666";  //M
            conta.Emissor           = "666";  //M
            conta.CedenteNumero     = "6666"; //M
            conta.CedenteDigito     = "6";    //M
            conta.PercentualMulta   = 1;
            conta.PercentualMora    = 2;
            conta.DiasProtesto      = 5;
            conta.LayoutRemessa     = 0;
            conta.SequencialRemessa = 1000;

            EmissaoBoleto emissaoBoleto = new EmissaoBoleto();

            emissaoBoleto.Banco = "Banco Bradesco S.A."; //M

            GlobalsDadosEmpresa globalsDadosEmpresa = new GlobalsDadosEmpresa();

            globalsDadosEmpresa.Cnpj        = "97969747000194";
            globalsDadosEmpresa.Logradouro  = "RUA DAS ESTRELAS";
            globalsDadosEmpresa.Numero      = "666";
            globalsDadosEmpresa.Complemento = "SL 13";
            globalsDadosEmpresa.Bairro      = "CAMANDORA";
            globalsDadosEmpresa.CidadeNome  = "CAMPINAS";
            globalsDadosEmpresa.CidadeUf    = "SP";
            globalsDadosEmpresa.Cep         = "34188130";

            //Dados do Cliente
            Cliente cliente = new Cliente();

            cliente.Cnpj        = "10048848000144";
            cliente.Razao       = "ADAPTUP TI";
            cliente.Logradouro  = "RUA DOS PLANETAS";
            cliente.Numero      = "8541";
            cliente.Complemento = "4 AND";
            cliente.Bairro      = "SERRA";
            cliente.CidadeNome  = "VITÓRIA";
            cliente.Uf          = "ES";
            cliente.Cep         = "23596478";

            //Dados do Boleto
            DadosBoleto dadosBoleto = new DadosBoleto();

            dadosBoleto.CodigoOcorrencia    = "01"; //Registrar remessa
            dadosBoleto.DescricaoOcorrencia = "Remessa Registrar";
            dadosBoleto.Codigo      = "99999";
            dadosBoleto.Lancamento  = DateTime.Today;
            dadosBoleto.Vencimento  = new DateTime(2019, 1, 23);
            dadosBoleto.ValorAberto = 4600.00M;
            dadosBoleto.Aceite      = "N";

            //Cabeçalho
            boletos.Banco         = Banco.Instancia(Int32.Parse(conta.BancoNumero));
            boletos.Banco.Cedente = new Cedente
            {
                CPFCNPJ       = globalsDadosEmpresa.Cnpj,
                Nome          = conta.Titular,
                Observacoes   = string.Empty,
                ContaBancaria = new ContaBancaria
                {
                    Agencia        = conta.Agencia,
                    DigitoAgencia  = conta.AgenciaDigito,
                    OperacaoConta  = string.Empty,
                    Conta          = conta.Numero,
                    DigitoConta    = conta.NumeroDigito,
                    CarteiraPadrao = conta.CarteiraBoleto,
                    //VariacaoCarteiraPadrao = conta.VariacaoCarteira,
                    TipoCarteiraPadrao     = TipoCarteira.CarteiraCobrancaSimples,
                    TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro,
                    TipoImpressaoBoleto    = conta.Emissor == emissaoBoleto.Banco ? TipoImpressaoBoleto.Banco : TipoImpressaoBoleto.Empresa,
                    TipoDocumento          = TipoDocumento.Tradicional
                },
                Codigo            = conta.CedenteNumero,
                CodigoDV          = conta.CedenteDigito.ToString(),
                CodigoTransmissao = string.Empty,
                //Endereco = new Boleto2Net.Endereco
                Endereco = new Endereco
                {
                    LogradouroEndereco    = globalsDadosEmpresa.Logradouro,
                    LogradouroNumero      = globalsDadosEmpresa.Numero,
                    LogradouroComplemento = globalsDadosEmpresa.Complemento,
                    Bairro = globalsDadosEmpresa.Bairro,
                    Cidade = globalsDadosEmpresa.CidadeNome,
                    UF     = globalsDadosEmpresa.CidadeUf,
                    CEP    = globalsDadosEmpresa.Cep
                }
            };
            boletos.Banco.FormataCedente();

            //Título (FOREACH INIT)
            var boleto = new Boleto(boletos.Banco);

            boleto.Sacado = new Sacado
            {
                CPFCNPJ     = cliente.Cnpj,
                Nome        = cliente.Razao,
                Observacoes = string.Empty,
                Endereco    = new Endereco
                {
                    LogradouroEndereco    = cliente.Logradouro,
                    LogradouroNumero      = cliente.Numero,
                    LogradouroComplemento = cliente.Complemento,
                    Bairro = cliente.Bairro,
                    Cidade = cliente.CidadeNome,
                    UF     = cliente.Uf.ToString(),
                    CEP    = cliente.Cep
                }
            };

            boleto.CodigoOcorrencia           = dadosBoleto.CodigoOcorrencia; //Registrar remessa
            boleto.DescricaoOcorrencia        = dadosBoleto.DescricaoOcorrencia;
            boleto.NumeroDocumento            = dadosBoleto.Codigo.ToString();
            boleto.NumeroControleParticipante = dadosBoleto.Codigo.ToString();
            boleto.NossoNumero      = dadosBoleto.Codigo.ToString();
            boleto.DataEmissao      = dadosBoleto.Lancamento;
            boleto.DataVencimento   = dadosBoleto.Vencimento;
            boleto.ValorTitulo      = dadosBoleto.ValorAberto;
            boleto.Aceite           = dadosBoleto.Aceite;
            boleto.EspecieDocumento = TipoEspecieDocumento.DM;

            //boleto.DataDesconto = DateTime.Today;
            //boleto.ValorDesconto = 0;
            if (conta.PercentualMulta > 0)
            {
                boleto.DataMulta       = dadosBoleto.Vencimento.AddDays(1);
                boleto.PercentualMulta = conta.PercentualMulta;
                boleto.ValorMulta      = boleto.ValorTitulo * boleto.PercentualMulta / 100;

                //boleto.MensagemInstrucoesCaixa = $"Cobrar Multa de {boleto.ValorMulta.FormatoMoeda()} após o vencimento.";
                boleto.MensagemInstrucoesCaixa = $"Cobrar Multa de {boleto.ValorMulta} .FormatoMoeda() após o vencimento.";
            }

            if (conta.PercentualMora > 0)
            {
                boleto.DataJuros          = dadosBoleto.Vencimento.AddDays(1);
                boleto.PercentualJurosDia = (conta.PercentualMora / 30);
                boleto.ValorJurosDia      = boleto.ValorTitulo * boleto.PercentualJurosDia / 100;

                //string instrucao = $"Cobrar juros de {boleto.PercentualJurosDia.FormatoPorcentagem()} por dia de atraso";
                string instrucao = $"Cobrar juros de {boleto.PercentualJurosDia} .FormatoPorcentagem() por dia de atraso";
                if (string.IsNullOrEmpty(boleto.MensagemInstrucoesCaixa))
                {
                    boleto.MensagemInstrucoesCaixa = instrucao;
                }
                else
                {
                    boleto.MensagemInstrucoesCaixa += Environment.NewLine + instrucao;
                }
            }

            boleto.CodigoInstrucao1      = string.Empty;
            boleto.ComplementoInstrucao1 = string.Empty;

            boleto.CodigoInstrucao2      = string.Empty;
            boleto.ComplementoInstrucao2 = string.Empty;

            boleto.CodigoInstrucao3      = string.Empty;
            boleto.ComplementoInstrucao3 = string.Empty;

            boleto.CodigoProtesto = conta.DiasProtesto == 0 ? TipoCodigoProtesto.NaoProtestar : TipoCodigoProtesto.ProtestarDiasUteis;
            boleto.DiasProtesto   = conta.DiasProtesto;

            boleto.CodigoBaixaDevolucao = TipoCodigoBaixaDevolucao.NaoBaixarNaoDevolver;
            boleto.DiasBaixaDevolucao   = 0;

            boleto.ValidarDados();
            boletos.Add(boleto);

            //(FOREACH END)

            //Gerar Remessa
            var stream  = new MemoryStream();
            var remessa = new ArquivoRemessa(boletos.Banco, conta.LayoutRemessa == LayoutRemessa.Cnab240
                ? TipoArquivo.CNAB240 : TipoArquivo.CNAB400, conta.SequencialRemessa);

            remessa.GerarArquivoRemessa(boletos, stream);

            var boletoBancario = new BoletoBancario()
            {
                Boleto = boletos[0]
            };
            var html = boletoBancario.MontaHtml();

            return(html);

            //var pdf = boletoBancario.MontaBytesPDF(false);
            //var pathPDF = GArquivos.CombinarDiretorio(PathRemessa, $"{boleto.NumeroControleParticipante}.pdf");
            //var pathPDF = @"C:\boletos\" + $"{boleto.NumeroControleParticipante}.pdf";
            //File.WriteAllBytes(pathPDF, pdf);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        public void GeraBoleto(DataRow row)
        {
            //CedenteData cedente = new CedenteData();
            //EnderecoData endereco = new EnderecoData();
            //Títulos

            var boleto = new Boleto2Net.Boleto(boletos.Banco);

            boleto.Sacado = new Sacado
            {
                CPFCNPJ     = row[3].ToString(),
                Nome        = row[1].ToString() + " " + row[2].ToString(),
                Observacoes = string.Empty,
                Endereco    = new Boleto2Net.Endereco
                {
                    LogradouroEndereco    = row[5].ToString(),
                    LogradouroNumero      = row[7].ToString(),
                    LogradouroComplemento = "",
                    Bairro = row[6].ToString(),
                    Cidade = row[10].ToString(),
                    UF     = row[11].ToString(),
                    CEP    = row[8].ToString() + row[9].ToString()
                }
            };

            boleto.CodigoOcorrencia    = "01"; //Registrar remessa
            boleto.DescricaoOcorrencia = "Remessa Registrar";



            boleto.DataEmissao      = DateTime.Today;
            boleto.DataVencimento   = boleto.DataEmissao.AddDays(10);
            boleto.ValorTitulo      = Convert.ToDecimal(row[4].ToString());
            boleto.Aceite           = "N";
            boleto.EspecieDocumento = TipoEspecieDocumento.DM;

            //boleto.DataDesconto = DateTime.Today;
            //boleto.ValorDesconto = 0;
            decimal ValorMulta = Convert.ToDecimal(row[4]) / 10;
            decimal precMulta  = 02;

            bControle = new BoletoControle();
            bControle.NumeroBoleto(Convert.ToInt32(row[0].ToString()), boleto.ValorTitulo, boleto.DataEmissao.Month, boleto.DataEmissao.Year);


            boleto.NumeroDocumento            = bControle.NumeroBoletoControle.ToString();
            boleto.NumeroControleParticipante = bControle.NumeroBoletoControle.ToString();
            boleto.NossoNumero = "401";
            if (ValorMulta > 0)
            {
                boleto.DataMulta       = boleto.DataVencimento.AddDays(1);
                boleto.PercentualMulta = precMulta;
                boleto.ValorMulta      = boleto.ValorTitulo * boleto.PercentualMulta / 100;

                boleto.MensagemInstrucoesCaixa = $"Cobrar Multa de {boleto.ValorMulta} após o vencimento.";
            }

            if (precMulta > 0)
            {
                boleto.DataJuros          = boleto.DataVencimento.AddDays(1);
                boleto.PercentualJurosDia = (precMulta / 30);
                boleto.ValorJurosDia      = boleto.ValorTitulo * boleto.PercentualJurosDia / 100;

                string instrucao = $"Cobrar juros de {boleto.PercentualJurosDia} por dia de atraso";
                if (string.IsNullOrEmpty(boleto.MensagemInstrucoesCaixa))
                {
                    boleto.MensagemInstrucoesCaixa = instrucao;
                }
                else
                {
                    boleto.MensagemInstrucoesCaixa += Environment.NewLine + instrucao;
                }
            }

            /*
             * boleto.CodigoInstrucao1 = string.Empty;
             * boleto.ComplementoInstrucao1 = string.Empty;
             *
             * boleto.CodigoInstrucao2 = string.Empty;
             * boleto.ComplementoInstrucao2 = string.Empty;
             *
             * boleto.CodigoInstrucao3 = string.Empty;
             * boleto.ComplementoInstrucao3 = string.Empty;
             */

            boleto.CodigoProtesto = TipoCodigoProtesto.NaoProtestar;
            boleto.DiasProtesto   = 10;

            boleto.CodigoBaixaDevolucao = TipoCodigoBaixaDevolucao.NaoBaixarNaoDevolver;
            boleto.DiasBaixaDevolucao   = 0;

            boleto.ValidarDados();
            boletos.Add(boleto);



            //Gerar Remessa
            var stream  = new MemoryStream();
            var remessa = new ArquivoRemessa(boletos.Banco, TipoArquivo.CNAB400, 1);

            remessa.GerarArquivoRemessa(boletos, stream);


            //Gerar boletos - aqui eu gravo os arquivos um a um porque mando via e-mail.
            foreach (var boleto1 in boletos)
            {
                var boletoBancario = new BoletoBancario()
                {
                    Boleto = boleto1
                };
                var pdf = boletoBancario.MontaBytesPDF(false);
                pathPDF = @"C:\Teste\" + boleto.Sacado.Nome + " - " + boleto.DataEmissao.Month + "-" + boleto.DataEmissao.Year + ".pdf";
                File.WriteAllBytes(pathPDF, pdf);
            }
        }
コード例 #12
0
ファイル: Main.cs プロジェクト: Ander89BR/boletonet
        public void GeraDadosBancoDoNordeste()
        {
            ContaBancaria conta = new ContaBancaria();
            conta.Agencia = "21";
            conta.DigitoAgencia = "0";
            conta.Conta = "12717";
            conta.DigitoConta = "8";

            Cedente c = new Cedente();
            c.ContaBancaria = conta;
            c.CPFCNPJ = "00.000.000/0000-00";
            c.Nome = "Empresa de Atacado";

            Boleto b = new Boleto();
            b.Cedente = c;
            //
            b.DataProcessamento = DateTime.Now;
            b.DataVencimento = DateTime.Now.AddDays(15);
            b.ValorBoleto = Convert.ToDecimal(1);
            b.Carteira = "4";
            b.NossoNumero = "7777777";
            b.NumeroDocumento = "2525";
            //
            b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
            b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
            b.Sacado.Endereco.Bairro = "Testando";
            b.Sacado.Endereco.Cidade = "Testelândia";
            b.Sacado.Endereco.CEP = "70000000";
            b.Sacado.Endereco.UF = "RS";

            b.Banco = new Banco(004);

            EspecieDocumento especiedocumento = new EspecieDocumento(004, "1");//Duplicata Mercantil
            b.EspecieDocumento = especiedocumento;

            #region Dados para Remessa:
            b.Remessa = new Remessa();
            b.Remessa.TipoDocumento = "A";
            #endregion


            Boletos boletos = new Boletos();
            boletos.Add(b);

            GeraArquivoCNAB400(b.Banco, c, boletos);
        }
コード例 #13
0
        public GeracaoCNABLancamentoCobrancaViewModel GerarBoletosBancariosHtml(List <LancamentoCobranca> lancamentos, DateTime?dtVencimento, TipoValor tipoValorJuros, decimal?juros, TipoValor tipoValorMulta, decimal?multa, TipoOcorrenciaCNAB tipoOcorrenciaCNAB)
        {
            var geracaoCnab = new GeracaoCNABLancamentoCobrancaViewModel();

            using (TransactionScope scope = new TransactionScope())
            {
                var listaBoletoBancario = new List <BoletoBancario>();
                var listaBoletos        = new Boletos();

                var contaFinanceiraLancamento = lancamentos?.FirstOrDefault()?.ContaFinanceira ?? new ContaFinanceira();

                var contaFinanceira = _contaFinanceiraServico.BuscarPorId(contaFinanceiraLancamento.Id);
                var listaParametroBoletoBancario = _parametroBoletoBancarioServico.Buscar()?.ToList() ?? new List <ParametroBoletoBancario>();

                foreach (var item in lancamentos)
                {
                    if (item.Cliente.Pessoa.Enderecos == null || !item.Cliente.Pessoa.Enderecos.Any())
                    {
                        throw new BusinessRuleException($"O cadastro de [{item.Cliente.Pessoa.Nome}], não possui Endereço. É necessário esta informação para prosseguir!");
                    }

                    var boleto = ImprimirBoletoBancario(item, contaFinanceira, dtVencimento, tipoValorJuros, juros, tipoValorMulta, multa, listaParametroBoletoBancario, tipoOcorrenciaCNAB);

                    var boletoBancario = new BoletoBancario()
                    {
                        CodigoBanco           = Convert.ToInt16(contaFinanceira.Banco.CodigoBanco),
                        Boleto                = boleto,
                        MostrarCodigoCarteira = true,
                        TextoAbaixoDoBoleto   = $"UNIDADE: {item.Unidade.Nome} - {item.Unidade?.Endereco?.Logradouro}" +
                                                $"<br/>REF: {(item.DataCompetencia == null ? item.DataVencimento.ToString("yyyyMM") : item.DataCompetencia.Value.ToString("yyyyMM"))}" +
                                                $"{(item.TipoServico == TipoServico.Mensalista ? $"<br/>CONTRATO: {item.NumerosContratos}" : string.Empty)}"
                    };

                    boletoBancario.Boleto.Valida();
                    boletoBancario.MostrarComprovanteEntrega = false;
                    boletoBancario.FormatoCarne = true;
                    boletoBancario.GeraImagemCodigoBarras(boleto);

                    listaBoletos.Add(boleto);
                    listaBoletoBancario.Add(boletoBancario);

                    item.PossueCnab = true;
                    item.StatusLancamentoCobranca = StatusLancamentoCobranca.EmAberto;
                }

                var objCedente = new Cedente(
                    contaFinanceira.Cpf,
                    contaFinanceira.Descricao,
                    contaFinanceira.Agencia,
                    contaFinanceira.Conta,
                    contaFinanceira.DigitoConta
                    )
                {
                    CodigoTransmissao = $"{contaFinanceira.Agencia}0{contaFinanceira.Convenio.Truncate(7).PadLeft(7, '0')}0{contaFinanceira.Conta.Truncate(7).PadLeft(7, '0')}",
                    Convenio          = Convert.ToInt64(contaFinanceira.Convenio),
                    ContaBancaria     = new ContaBancaria(contaFinanceira.Agencia, contaFinanceira.DigitoAgencia ?? string.Empty, contaFinanceira.Conta, contaFinanceira.DigitoConta),
                    Nome = contaFinanceira.Empresa?.RazaoSocial
                };


                var aqvRemessa = new ArquivoRemessa(BoletoNet.TipoArquivo.CNAB400);
                var banco      = new BoletoNet.Banco(Convert.ToInt32(contaFinanceira.Banco.CodigoBanco));

                using (var mem = new MemoryStream())
                {
                    if (listaBoletos.Any())
                    {
                        aqvRemessa.GerarArquivoRemessa(contaFinanceira.Convenio, banco, objCedente, listaBoletos, mem, Convert.ToInt32(contaFinanceira.CodigoTransmissao));
                    }

                    var pdfBytes = new BoletoBancario().MontaBytesListaBoletosPDF(listaBoletoBancario, "Boletos Gerados", null, "Boletos Gerados");

                    geracaoCnab = new GeracaoCNABLancamentoCobrancaViewModel
                    {
                        BoletosHtml = listaBoletoBancario?.Select(x => x.MontaHtmlEmbedded())?.ToList() ?? new List <string>(),
                        ArquivoRemessaMemoryStream = mem,
                        DadosPDF = pdfBytes
                    };
                }
            }

            _lancamentoCobrancaServico.UpdateDetalhesCNAB(lancamentos);

            return(geracaoCnab);
        }
コード例 #14
0
        /// <summary>
        /// Processa o Retorno
        /// </summary>
        /// <param name="cData">TXT de entrada</param>
        public override Layout Retorno(string cData)
        {
            Layout retorno = new Layout(typeof(CNAB240SegmentoTCaixa), typeof(CNAB240SegmentoUCaixa));

            retorno.onInvalidLine += Retorno_onInvalidLine;
            retorno.Conteudo       = cData;

            /*
             * retorno.ForEach<CNAB240SegmentoTCaixa>(reg =>
             *  Boletos.Add(new BoletoInfo()
             *  {
             *      NossoNumero = reg[CNAB240SegmentoTCaixa.NossoNumero].ToString(),
             *      ValorDocumento = (double)reg[CNAB240SegmentoTCaixa.ValorDocumento],
             *      DataVencimento = (DateTime)reg[CNAB240SegmentoTCaixa.DataVencimento],
             *      ValorPago = (double)reg[CNAB240SegmentoTCaixa.ValorDocumento]
             *  }, reg.OriginalLine)
             * );
             */
            BoletoInfo blt = null;

            retorno.ForEachIReg(ireg =>
            {
                if (ireg.NameType == typeof(CNAB240SegmentoTCaixa))
                {
                    if (blt != null)
                    {
                        Boletos.Add(blt);
                    }

                    // Para registros Tipo T cria o boleto
                    var reg = ireg as Reg <CNAB240SegmentoTCaixa>;
                    blt     = new BoletoInfo()
                    {
                        NossoNumero    = reg[CNAB240SegmentoTCaixa.NossoNumero].ToString(),
                        ValorDocumento = (double)reg[CNAB240SegmentoTCaixa.ValorDocumento],
                        DataVencimento = (DateTime)reg[CNAB240SegmentoTCaixa.DataVencimento]
                                         //                        ValorPago = (double)reg[CNAB240SegmentoTCaixa.ValorDocumento]
                    };
                    blt.LinhaOrigem = reg.OriginalLine;
                }
                else if (ireg.NameType == typeof(CNAB240SegmentoUCaixa))
                {
                    // registros de outros tipos busca na lista de boletos existentes uma instancia válida para atualizar os dados complementares
                    var reg            = ireg as Reg <CNAB240SegmentoUCaixa>;
                    blt.ValorAcrescimo = (double)reg[CNAB240SegmentoUCaixa.ValorAcrescimos];
                    blt.ValorDesconto  = (double)reg[CNAB240SegmentoUCaixa.ValorDesconto];
                    blt.ValorDesconto2 = (double)reg[CNAB240SegmentoUCaixa.ValorAbatimento];
                    blt.ValorIOF       = (double)reg[CNAB240SegmentoUCaixa.ValorIOF];
                    blt.ValorPago      = (double)reg[CNAB240SegmentoUCaixa.ValorPago];
                    blt.ValorLiquido   = (double)reg[CNAB240SegmentoUCaixa.ValorLiquido];
                    blt.DataPagamento  = blt.DataProcessamento = (DateTime)reg[CNAB240SegmentoUCaixa.DataOcorrencia];
                    blt.DataCredito    = (DateTime)reg[CNAB240SegmentoUCaixa.DataCredito];
                    blt.DataTarifa     = (DateTime)reg[CNAB240SegmentoUCaixa.DataTarifa];
                }
            });
            if (blt != null)
            {
                Boletos.Add(blt);
            }
            return(retorno);
        }
コード例 #15
0
        public GeracaoCNABContaPagarViewModel GerarBoletosBancariosHtml(List <ContasAPagar> listaContaPagar, int usuarioId, GeracaoCNABContaPagarViewModel filtro)
        {
            var listaBoletoBancario = new List <BoletoBancario>();
            var listaBoletos        = new Boletos();

            var contaFinanceira = _contaFinanceiraServico.BuscarPorId(filtro.ContaFinanceira.Id);

            foreach (var item in listaContaPagar)
            {
                if ((item.FormaPagamento == FormaPagamento.Boleto || item.FormaPagamento == FormaPagamento.BoletoConcessionaria) && string.IsNullOrEmpty(item.CodigoDeBarras))
                {
                    throw new BusinessRuleException($"O Boleto de Id [" + item.Id + "], não possuí código de barras!");
                }

                var boleto         = ImprimirBoletoBancario(item, contaFinanceira);
                var boletoBancario = new BoletoBancario()
                {
                    CodigoBanco           = Convert.ToInt16(contaFinanceira.Banco.CodigoBanco),
                    Boleto                = boleto,
                    MostrarCodigoCarteira = true
                };

                boletoBancario.MostrarComprovanteEntrega = false;
                boletoBancario.FormatoCarne = true;
                boletoBancario.GeraImagemCodigoBarras(boleto);

                listaBoletos.Add(boleto);
                listaBoletoBancario.Add(boletoBancario);

                item.PossueCnab = true;
                _contaPagarServico.Workflow(item, new Usuario {
                    Id = usuarioId
                });
            }

            var objCedente = new Cedente(
                contaFinanceira.Cnpj,
                contaFinanceira.Descricao,
                contaFinanceira.Agencia,
                contaFinanceira.Conta,
                contaFinanceira.DigitoConta
                )
            {
                CodigoTransmissao = $"{contaFinanceira.Agencia}0{contaFinanceira.ConvenioPagamento.Truncate(7).PadLeft(7, '0')}0{contaFinanceira.Conta.Truncate(7).PadLeft(7, '0')}",
                Convenio          = Convert.ToInt64(contaFinanceira.ConvenioPagamento),
                ContaBancaria     = new ContaBancaria(contaFinanceira.Agencia, contaFinanceira.DigitoAgencia ?? string.Empty, contaFinanceira.Conta, contaFinanceira.DigitoConta),
                Nome = contaFinanceira.Empresa?.RazaoSocial
            };

            var aqvRemessa = new ArquivoRemessa(PagamentoNet.TipoArquivo.CNAB240);
            var banco      = new PagamentoNet.Banco(Convert.ToInt32(contaFinanceira.Banco.CodigoBanco));

            using (var mem = new MemoryStream())
            {
                if (listaBoletos.Any())
                {
                    aqvRemessa.GerarArquivoRemessa(contaFinanceira.ConvenioPagamento, banco, objCedente, listaBoletos, mem, Convert.ToInt32(contaFinanceira.CodigoTransmissao));
                }

                return(new GeracaoCNABContaPagarViewModel
                {
                    BoletosHtml = new List <string>(),
                    ArquivoRemessaMemoryStream = mem
                });
            }
        }
コード例 #16
0
ファイル: Main.cs プロジェクト: richardsonvix/boletonet
        public void GeraDadosSicredi()
        {
            ContaBancaria conta = new ContaBancaria();
            conta.Agencia = "051";
            conta.DigitoAgencia = "2";
            conta.Conta = "13000";
            conta.DigitoConta = "3";
            //
            Cedente c = new Cedente();
            c.ContaBancaria = conta;
            c.CPFCNPJ = "00000000000000";
            c.Nome = "Empresa de Atacado";
            //Na carteira 198 o código do Cedente é a conta bancária
            c.Codigo = "12345";//No Banrisul, esse código está no manual como 12 caracteres, por eu(sidneiklein) isso tive que alterar o tipo de int para string;
            c.Convenio = 124522;
            //
            Boleto b = new Boleto();
            b.Cedente = c;
            //
            b.DataProcessamento = DateTime.Now;
            b.DataVencimento = DateTime.Now.AddDays(15);
            b.ValorBoleto = Convert.ToDecimal(2469.69);
            b.Carteira = "1";
            b.VariacaoCarteira = "02";
            b.NossoNumero = string.Empty; //"92082835"; //** Para o "Remessa.TipoDocumento = "06", não poderá ter NossoNúmero Gerado!
            b.NumeroDocumento = "1008073";
            //
            b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
            b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
            b.Sacado.Endereco.Bairro = "Testando";
            b.Sacado.Endereco.Cidade = "Testelândia";
            b.Sacado.Endereco.CEP = "70000000";
            b.Sacado.Endereco.UF = "RS";

            Instrucao_Sicredi item1 = new Instrucao_Sicredi(9, 5);
            b.Instrucoes.Add(item1);
            //b.Instrucoes.Add(item2);
            b.Banco = new Banco(748);

            //
            EspecieDocumento especiedocumento = new EspecieDocumento(748, "A");//(341, 1);
            b.EspecieDocumento = especiedocumento;


            #region Dados para Remessa:
            b.Remessa = new Remessa();
            b.Remessa.TipoDocumento = "A"; //A = 'A' - SICREDI com Registro
            #endregion

            //
            Boletos boletos = new Boletos();
            boletos.Add(b);

            GeraArquivoCNAB400(b.Banco, c, boletos);
        }
コード例 #17
0
 public override void GerarArquivo(List <Debito> debitos)
 {
     debitos.ForEach(debito =>
                     Boletos.Add(new BradescoBoleto(debito.Pagador, debito.Valor)));
 }
コード例 #18
0
ファイル: Main.cs プロジェクト: richardsonvix/boletonet
        public void GeraDadosCaixa()
        {
            ContaBancaria conta = new ContaBancaria();
            conta.OperacaConta = "OPE";
            conta.Agencia = "345";
            conta.DigitoAgencia = "6";
            conta.Conta = "87654321";
            conta.DigitoConta = "0";
            //
            Cedente c = new Cedente();
            c.ContaBancaria = conta;
            c.CPFCNPJ = "00.000.000/0000-00";
            c.Nome = "Empresa de Atacado";
            //Na carteira 198 o código do Cedente é a conta bancária
            c.Codigo = String.Concat(conta.Agencia, conta.DigitoAgencia, conta.OperacaConta, conta.Conta, conta.DigitoConta); //Na Caixa, esse código está no manual como 16 caracteres AAAAOOOCCCCCCCCD;
            //
            Boleto b = new Boleto();
            b.Cedente = c;
            //
            b.DataProcessamento = DateTime.Now;
            b.DataVencimento = DateTime.Now.AddDays(15);
            b.ValorBoleto = Convert.ToDecimal(2469.69);
            b.Carteira = "SR";
            b.NossoNumero = "92082835";
            b.NumeroDocumento = "1008073";
            EspecieDocumento ED = new EspecieDocumento(104);
            b.EspecieDocumento = ED;

            //
            b.Sacado = new Sacado("Fulano de Silva");
            b.Sacado.CPFCNPJ = "000.000.000-00";
            b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
            b.Sacado.Endereco.Bairro = "Testando";
            b.Sacado.Endereco.Cidade = "Testelândia";
            b.Sacado.Endereco.CEP = "70000000";
            b.Sacado.Endereco.UF = "RS";

            Instrucao_Caixa item1 = new Instrucao_Caixa(9, 5);
            b.Instrucoes.Add(item1);
            //b.Instrucoes.Add(item2);
            b.Banco = new Banco(104);

            #region Dados para Remessa:
            b.Remessa = new Remessa();
            b.Remessa.TipoDocumento = "2"; // SIGCB - SEM REGISTRO
            b.Remessa.CodigoOcorrencia = string.Empty;
            #endregion

            //
            Boletos boletos = new Boletos();
            boletos.Add(b);

            GeraArquivoCNAB240(b.Banco, c, boletos);
        }
コード例 #19
0
        private string MontaBoletoHTML(Aluno aluno)
        {
            Boletos boletos = new Boletos();
            Boleto  boleto;

            // Banco, Cedente, Conta Corrente
            boletos.Banco         = Banco.Instancia(237);
            boletos.Banco.Cedente = new Cedente
            {
                CPFCNPJ       = "12.123.123/1234-46",
                Nome          = "Cedente Teste Classe Proxy",
                Observacoes   = "Observacoes do Cedente",
                ContaBancaria = new ContaBancaria
                {
                    Agencia                = "1234",
                    DigitoAgencia          = "X",
                    OperacaoConta          = "",
                    Conta                  = "123456",
                    DigitoConta            = "X",
                    CarteiraPadrao         = "09",
                    VariacaoCarteiraPadrao = "",
                    TipoCarteiraPadrao     = TipoCarteira.CarteiraCobrancaSimples,
                    TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro,
                    TipoImpressaoBoleto    = TipoImpressaoBoleto.Empresa,
                    TipoDocumento          = TipoDocumento.Escritural
                },
                Codigo            = "1213141",
                CodigoDV          = "0",
                CodigoTransmissao = "",
                Endereco          = new Endereco
                {
                    LogradouroEndereco    = "Av. 5 de Julho",
                    LogradouroNumero      = "1194",
                    LogradouroComplemento = "",
                    Bairro = "Centro",
                    Cidade = "Indaiatuba",
                    UF     = "SP",
                    CEP    = "13330-220"
                }
            };
            boletos.Banco.FormataCedente();

            // Novo boleto:
            boleto = new Boleto(boletos.Banco);

            var sacado = new Sacado
            {
                CPFCNPJ     = aluno.CPF,
                Nome        = aluno.Nome,
                Observacoes = "",
                Endereco    = new Endereco
                {
                    LogradouroEndereco    = aluno.Logradouro,
                    LogradouroNumero      = aluno.NumeroLogradouro.ToString(),
                    LogradouroComplemento = aluno.Complemento,
                    Bairro = aluno.Bairro,
                    Cidade = aluno.Cidade,
                    UF     = aluno.UF,
                    CEP    = aluno.CEP.ToString()
                }
            };

            boleto.Sacado = sacado;

            boleto.NumeroDocumento            = "DP123456AZ";
            boleto.NumeroControleParticipante = "CHAVEPRIMARIABANCO=12345!";
            boleto.NossoNumero       = "445566";
            boleto.DataEmissao       = DateTime.Now.AddDays(-3);
            boleto.DataProcessamento = DateTime.Now;
            boleto.DataVencimento    = DateTime.Now.AddDays(+30);
            boleto.ValorTitulo       = (decimal)123456.78;
            boleto.Aceite            = "N";
            boleto.EspecieDocumento  = TipoEspecieDocumento.DM;

            //boleto.DataDesconto = dataDesconto;
            //boleto.ValorDesconto = valorDesconto;

            //boleto.DataMulta = dataMulta;
            //boleto.PercentualMulta = percMulta;
            //boleto.ValorMulta = valorMulta;

            //boleto.DataJuros = dataJuros;
            //boleto.PercentualJurosDia = percJuros;
            //boleto.ValorJurosDia = valorJuros;

            boleto.MensagemInstrucoesCaixa = "Mensagem para ser impressa no boleto";
            boleto.MensagemArquivoRemessa  = "Mensagem para o arquivo remessa";
            boleto.CodigoInstrucao1        = "01";
            boleto.ComplementoInstrucao1   = "Instrução 01";
            boleto.CodigoInstrucao2        = "02";;
            boleto.ComplementoInstrucao2   = "Instrução 02";
            boleto.CodigoInstrucao3        = "03";;
            boleto.ComplementoInstrucao3   = "Instrução 03";

            //boleto.CodigoProtesto = (TipoCodigoProtesto)codigoProtesto;
            //boleto.DiasProtesto = diasProtesto;

            //boleto.CodigoBaixaDevolucao = (TipoCodigoBaixaDevolucao)codigoBaixaDevolucao;
            //boleto.DiasBaixaDevolucao = diasBaixaDevolucao;

            boleto.ValidarDados();
            boletos.Add(boleto);

            var html = new StringBuilder();

            html.Append("");
            foreach (Boleto boletoTmp in boletos)
            {
                //if (html.Length != 0)
                //{
                //    // Já existe um boleto, inclui quebra de linha.
                //    html.Append("</br></br></br></br></br></br></br></br></br></br>");
                //}
                using (BoletoBancario imprimeBoleto = new BoletoBancario
                {
                    //CodigoBanco = (short)boletoTmp.Banco.Codigo,
                    Boleto = boletoTmp,
                    OcultarInstrucoes = false,
                    MostrarComprovanteEntrega = true,
                    MostrarEnderecoCedente = true
                })
                {
                    //html.Append("<div style=\"page-break-after: always;\">");
                    html.Append(imprimeBoleto.MontaHtmlEmbedded(true));
                    //html.Append("</div>");
                }
            }

            return(html.ToString());
        }
コード例 #20
0
ファイル: Utilitarios.cs プロジェクト: AcroniTeam/AcroniWeb
    public void gerarBoleto(string nome, string cpf, string produtos, decimal desconto, decimal preco)
    {
        Boletos objBoletos = new Boletos();

        // 'CRIA��O DA PARTE DO CEDENTE
        // Cabe�alho do Banco 756
        objBoletos.Banco                     = Banco.Instancia(Bancos.Bradesco);
        objBoletos.Banco.Cedente             = new Cedente();
        objBoletos.Banco.Cedente.CPFCNPJ     = "24.368.434/0001-07";
        objBoletos.Banco.Cedente.Nome        = "Acroni Ink";
        objBoletos.Banco.Cedente.Observacoes = "Pague isso logo carinha que estou precisando...rs";
        ContaBancaria conta = new ContaBancaria();

        conta.Agencia                = "1234";
        conta.DigitoAgencia          = "0";
        conta.OperacaoConta          = String.Empty;
        conta.Conta                  = "12345";
        conta.DigitoConta            = "0";
        conta.CarteiraPadrao         = "09";
        conta.VariacaoCarteiraPadrao = "";
        conta.TipoCarteiraPadrao     = TipoCarteira.CarteiraCobrancaSimples;
        conta.TipoFormaCadastramento = TipoFormaCadastramento.ComRegistro;
        conta.TipoImpressaoBoleto    = TipoImpressaoBoleto.Empresa;
        conta.TipoDocumento          = TipoDocumento.Tradicional;
        Endereco ender = new Endereco();

        ender.LogradouroEndereco    = "Avenida Tiradentes";
        ender.LogradouroNumero      = "";
        ender.LogradouroComplemento = "";
        ender.Bairro = "Bom Retiro";
        ender.Cidade = "São Paulo";
        ender.UF     = "SP";
        ender.CEP    = "01101010";
        objBoletos.Banco.Cedente.Codigo            = "123456";
        objBoletos.Banco.Cedente.CodigoDV          = "6";
        objBoletos.Banco.Cedente.CodigoTransmissao = "000000";
        objBoletos.Banco.Cedente.ContaBancaria     = conta;
        objBoletos.Banco.Cedente.Endereco          = ender;
        objBoletos.Banco.FormataCedente();

        // 'CRIA��O DO TITULO
        Boleto Titulo = new Boleto(objBoletos.Banco);

        Titulo.Sacado = new Sacado()
        {
            CPFCNPJ  = cpf,
            Endereco = new Boleto2Net.Endereco()
            {
                Bairro = "",
                CEP    = "",
                Cidade = "",
                LogradouroComplemento = "",
                LogradouroEndereco    = "",
                LogradouroNumero      = "",
                UF = ""
            },
            Nome        = nome,
            Observacoes = ""
        };
        Titulo.CodigoOcorrencia           = "01";
        Titulo.DescricaoOcorrencia        = "Remessa Registrar";
        Titulo.NumeroDocumento            = "345434";
        Titulo.NumeroControleParticipante = "12";
        Titulo.NossoNumero      = ("123456");
        Titulo.DataEmissao      = DateTime.Now;
        Titulo.DataVencimento   = DateTime.Now.AddDays(15);
        Titulo.ValorTitulo      = preco;
        Titulo.Aceite           = "N";
        Titulo.EspecieDocumento = TipoEspecieDocumento.DM;
        Titulo.DataDesconto     = DateTime.Now.AddDays(15);
        Titulo.ValorDesconto    = desconto;
        //
        // PARTE DA MULTA
        Titulo.DataMulta       = DateTime.Now.AddDays(15);
        Titulo.PercentualMulta = 2;
        Titulo.ValorMulta      = (Titulo.ValorTitulo
                                  * (Titulo.PercentualMulta / 100));
        Titulo.MensagemInstrucoesCaixa = produtos;
        Titulo.DataJuros          = DateTime.Now.AddDays(15);
        Titulo.PercentualJurosDia = (10 / 30);
        Titulo.ValorJurosDia      = (Titulo.ValorTitulo
                                     * (Titulo.PercentualJurosDia / 100));
        string instrucoes = "Acroni, mais que um teclado, o seu.";

        if (string.IsNullOrEmpty(Titulo.MensagemInstrucoesCaixa))
        {
            Titulo.MensagemInstrucoesCaixa = instrucoes;
        }
        else
        {
            Titulo.MensagemInstrucoesCaixa = (Titulo.MensagemInstrucoesCaixa
                                              + (Environment.NewLine + instrucoes));
        }

        //
        // Titulo.CodigoInstrucao1 = String.Empty
        // Titulo.ComplementoInstrucao1 = String.Empty
        // Titulo.CodigoInstrucao2 = String.Empty
        // Titulo.ComplementoInstrucao2 = String.Empty
        // Titulo.CodigoInstrucao3 = String.Empty
        // Titulo.ComplementoInstrucao3 = String.Empty
        Titulo.CodigoProtesto       = TipoCodigoProtesto.NaoProtestar;
        Titulo.DiasProtesto         = 0;
        Titulo.CodigoBaixaDevolucao = TipoCodigoBaixaDevolucao.NaoBaixarNaoDevolver;
        Titulo.DiasBaixaDevolucao   = 0;
        Titulo.ValidarDados();
        objBoletos.Add(Titulo);


        var boletoBancario = new BoletoBancario();

        boletoBancario.Boleto = objBoletos[0];


        HttpContext.Current.Response.Clear();
        MemoryStream ms = new MemoryStream(boletoBancario.MontaBytesPDF());

        HttpContext.Current.Response.ContentType = "application/pdf";
        HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=boleto.pdf");
        HttpContext.Current.Response.Buffer = true;
        ms.WriteTo(HttpContext.Current.Response.OutputStream);
        HttpContext.Current.Response.End();
    }
コード例 #21
0
ファイル: Main.cs プロジェクト: ericvalenzi/boletonet
        public void GeraDadosSicredi()
        {
            ContaBancaria conta = new ContaBancaria();

            conta.Agencia       = "0710";
            conta.DigitoAgencia = "0";
            conta.Conta         = "7914";
            conta.DigitoConta   = "3";
            conta.OperacaConta  = "0";
            //
            Cedente c = new Cedente("01.924.069/0001-74", "BRUCAI TRANSPORTES E ARMAZEM GERAIS LTDA", "0710", "7914", "3");

            c.ContaBancaria = conta;
            //c.CPFCNPJ = "01.924.069/0001-74";
            //c.Nome = "Empresa de Atacado";
            //Na carteira 198 o código do Cedente é a conta bancária
            c.Codigo   = "79143";//No Banrisul, esse código está no manual como 12 caracteres, por eu(sidneiklein) isso tive que alterar o tipo de int para string;
            c.Convenio = 79143;
            //
            Boleto b = new Boleto();

            b.Cedente = c;
            //
            b.DataProcessamento = DateTime.Now;
            b.DataDocumento     = DateTime.Now;
            b.DataVencimento    = DateTime.Now.AddDays(15);
            b.ValorBoleto       = Convert.ToDecimal(2469.69);
            b.Carteira          = "1";
            //b.VariacaoCarteira = "02";
            b.DigitoNossoNumero = "8";
            b.NossoNumero       = "00200006"; //"92082835"; //** Para o "Remessa.TipoDocumento = "06", não poderá ter NossoNúmero Gerado!
            b.NumeroDocumento   = "000010379";
            //
            b.Sacado = new Sacado("356.733.598-70", "Eric Filardi");
            b.Sacado.Endereco.End    = "Rua vito lilla";
            b.Sacado.Endereco.Bairro = "Vila augusta";
            b.Sacado.Endereco.Cidade = "Guarulhos";
            b.Sacado.Endereco.CEP    = "07025-040";
            b.Sacado.Endereco.UF     = "SP";

            Instrucao_Sicredi item1 = new Instrucao_Sicredi(1, 0);

            b.Instrucoes.Add(item1);
            //b.Instrucoes.Add(item2);
            b.Banco = new Banco(748);

            //
            EspecieDocumento especiedocumento = new EspecieDocumento(748, "A");//(341, 1);

            b.EspecieDocumento = especiedocumento;


            #region Dados para Remessa:
            b.Remessa = new Remessa();
            b.Remessa.TipoDocumento = "A"; //A = 'A' - SICREDI com Registro
            #endregion

            //
            Boletos boletos = new Boletos();
            boletos.Add(b);

            GeraArquivoCNAB400(b.Banco, c, boletos);
        }
コード例 #22
0
        //
        public void GeraDadosItau(TipoArquivo tipoArquivo)
        {
            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.DataVencimento = Convert.ToDateTime("12-12-12");

            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);
            b.Cedente.ContaBancaria.DigitoAgencia = "1";
            b.Cedente.ContaBancaria.DigitoAgencia = "2";

            b.Banco = new Banco(341);

            Boletos boletos = new Boletos();
            boletos.Add(b);

            Boleto b2 = new Boleto(vencimento, 1642, "198", "92082835", c);
            b2.NumeroDocumento = "1008073";

            b2.DataVencimento = Convert.ToDateTime("12-12-12");

            b2.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
            b2.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
            b2.Sacado.Endereco.Bairro = "Testando";
            b2.Sacado.Endereco.Cidade = "Testelândia";
            b2.Sacado.Endereco.CEP = "70000000";
            b2.Sacado.Endereco.UF = "DF";

            item2.Descricao += item2.QuantidadeDias.ToString() + " dias corridos do vencimento.";
            b2.Instrucoes.Add(item1);
            b2.Instrucoes.Add(item2);
            b2.Cedente.ContaBancaria.DigitoAgencia = "1";
            b2.Cedente.ContaBancaria.DigitoAgencia = "2";

            b2.Banco = new Banco(341);

            boletos.Add(b2);

            switch (tipoArquivo)
            {
                case TipoArquivo.CNAB240:
                    GeraArquivoCNAB240(b2.Banco, c, boletos);
                    break;
                case TipoArquivo.CNAB400:
                    GeraArquivoCNAB400(b2.Banco, c, boletos);
                    break;             
                default:
                    break;
            }            
                
        }
コード例 #23
0
ファイル: BoletoGenService.cs プロジェクト: Caiotc/BoletoGen
        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);
        }