예제 #1
0
        public void TestGerarRemessaPagamento()
        {
            var contaBancariaCedente = new ContaBancaria("3249", "2", "7341", "5");
            var empresaPagadora      = new Cedente("999999", "123456", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null);

            empresaPagadora.EnderecoCedente = new Endereco()
            {
                Bairro      = "Jardins",
                Cep         = "75690000",
                Cidade      = "Goiabalândia",
                Complemento = "EDF EXECUTIVO",
                Logradouro  = "Rua x",
                Numero      = "25",
                SiglaUf     = "GO",
            };

            var objEndereco = new Endereco()
            {
                Bairro      = "Trenzim",
                Cep         = "75690000",
                Cidade      = "Mangalandia",
                Complemento = "Galho esquerdo",
                Logradouro  = "Rua 3",
                Numero      = "5",
                SiglaUf     = "GO",
            };
            var contaBancariaFavorecido = new BoletoBr.ContaBancaria("4343", "0", "35432", "2");
            var favorecido = new BoletoBr.Sacado("012.365.489-01", "1", objEndereco, contaBancariaFavorecido);

            favorecido.Nome = "RAFAEL TAVEIRA";

            var bancoEmpresa    = BancoFactory.ObterBanco("756", "0");
            var bancoFavorecido = BancoFactory.ObterBanco("237", "");

            var pagamento = new BoletoBr.Pagamento()
            {
                BancoEmpresa               = bancoEmpresa,
                BancoFavorecido            = bancoFavorecido,
                CodigoBanco                = bancoEmpresa.CodigoBanco,
                CodigoBancoFavorecido      = bancoFavorecido.CodigoBanco,
                CodigoCamaraCentralizadora = "018",
                CodigoFinalidadeDoc        = "",
                CodigoFinalidadeTed        = "5",
                FinalidadePagamento        = "CC",
                DataVencimento             = new DateTime(2021, 4, 21),
                Empresa           = empresaPagadora,
                Favorecido        = favorecido,
                ValorPagamento    = 5M,
                ValorDesconto     = 0,
                ValorJurosMora    = 0,
                ValorMulta        = 0,
                CodigoConvenio    = "7980171",
                SeuNumero         = "1015",
                TipoServico       = "0",
                FormaDePagamento  = "01",
                FormaDeLancamento = "03",

                ValorTitulo = 5M,
                CodBarras   = "24691859100000299845004110028796200000000150"
            };

            var remessa = new RemessaCnab240
            {
                Header = new HeaderRemessaCnab240(pagamento, 1)
            };

            var loteRemessa = new LoteRemessaCnab240
            {
                HeaderLote  = new HeaderLoteRemessaCnab240(pagamento, 1),
                TrailerLote = new TrailerLoteRemessaCnab240(4)
            };

            remessa.Trailer = new TrailerRemessaCnab240(1, 6);

            var escritor             = EscritorArquivoRemessaFactory.ObterEscritorRemessaPagamento(remessa);
            var listaBoletoBrRemessa = new List <Pagamento>()
            {
                pagamento
            };
            var fabricaRemessa = new RemessaFactory();
            var remessaPronta  = fabricaRemessa.GerarRemessa(remessa.Header, loteRemessa.HeaderLote, listaBoletoBrRemessa, loteRemessa.TrailerLote, remessa.Trailer);
            var linhasEscrever = escritor.EscreverTexto(remessaPronta);


            StringBuilder sb = new StringBuilder();

            foreach (var linha in linhasEscrever)
            {
                sb.AppendLine(linha);
            }
        }
예제 #2
0
        private static BoletoBr.Pagamento TransformaDeFormatoPagamentoParaFormatoBoletoBr(CarteiraBoleto carteiraBoleto,
                                                                                          SacadoBoleto sacado, decimal valor, DateTime dataVencimento, string numeroDocumento)
        {
            var vencimento     = dataVencimento;
            var valorPagamento = valor;
            var nroConvenio    = carteiraBoleto.NumeroConvenio;
            var identificadorInternoDocumento = numeroDocumento;

            #region Dados Cedente

            var codigoCedente    = carteiraBoleto.CodigoCedente.BoletoBrToStringSafe();
            var digitoCedente    = carteiraBoleto.DigitoCodigoCedente.BoletoBrToInt();
            var codTransmissao   = carteiraBoleto.CodigoTransmissao.BoletoBrToStringSafe();
            var cpfcnpjcedente   = carteiraBoleto.CpfCnpjCedente.BoletoBrToStringSafe();
            var descricaocedente = carteiraBoleto.NomeCedente.BoletoBrToStringSafe();

            var agencia       = carteiraBoleto.NumeroAgencia;
            var digitoAgencia = carteiraBoleto.DigitoAgencia;
            var conta         = carteiraBoleto.NumeroConta;
            var digitoConta   = carteiraBoleto.DigitoConta;

            var enderecoCedente       = carteiraBoleto.EnderecoCedente;
            var bairroCedente         = carteiraBoleto.BairroCedente;
            var complementoEndCedente = carteiraBoleto.ComplementoCedente;
            var numeroEnderecoCedente = carteiraBoleto.NumeroCedente;
            var cepCedente            = carteiraBoleto.CepCedente;
            var cidadeCedente         = carteiraBoleto.CidadeCedente;
            var ufEnderecoCedente     = carteiraBoleto.UfCedente;

            var contaBancariaCedente = new BoletoBr.ContaBancaria(agencia, digitoAgencia, conta, digitoConta);
            var cedente = new BoletoBr.Cedente(codigoCedente, nroConvenio, digitoCedente, cpfcnpjcedente,
                                               descricaocedente, contaBancariaCedente, new Endereco()
            {
                Bairro      = bairroCedente,
                Cep         = cepCedente,
                Cidade      = cidadeCedente,
                Complemento = complementoEndCedente,
                Logradouro  = enderecoCedente,
                Numero      = numeroEnderecoCedente,
                SiglaUf     = ufEnderecoCedente,
            });

            #endregion

            var codBanco = carteiraBoleto.CodigoBanco.PadLeft(3, '0');

            var pagamento = new BoletoBr.Pagamento();
            var objBanco  = BoletoBr.Fabricas.BancoFactory.ObterBanco(codBanco);

            #region Dados Sacado

            var cpfcnpjSacado = sacado.CpfCnpj;
            var nomeSacado    = sacado.Nome;

            pagamento.Favorecido = new BoletoBr.Sacado(nomeSacado, cpfcnpjSacado,
                                                       TransformaEnderecoParaEnderecoBoletoBr(sacado));

            #endregion

            /* Ajuste */
            pagamento.DataVencimento = vencimento;
            pagamento.Empresa        = cedente;

            pagamento.ValorPagamento = valorPagamento;
            pagamento.ValorJurosMora = carteiraBoleto.ValorJuros;
            pagamento.ValorMulta     = carteiraBoleto.ValorMulta;

            return(pagamento);
        }