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