public LoteRemessaCnab240 AdicionarLote(HeaderLoteRemessaCnab240 headerLote, TrailerLoteRemessaCnab240 trailerLote) { var loteAdd = new LoteRemessaCnab240(); loteAdd.HeaderLote = headerLote; loteAdd.TrailerLote = trailerLote; Lotes.Add(loteAdd); return loteAdd; }
public LoteRemessaCnab240 AdicionarLote(HeaderLoteRemessaCnab240 headerLote, TrailerLoteRemessaCnab240 trailerLote) { var loteAdd = new LoteRemessaCnab240(); loteAdd.HeaderLote = headerLote; loteAdd.TrailerLote = trailerLote; Lotes.Add(loteAdd); return(loteAdd); }
/// <summary> /// /// </summary> /// <param name="loteContainer">Lote onde serão adicionados os lançamentos</param> /// <param name="boletoAdicionar">Boleto que será detalhado nos detalhes de segmento</param> /// <param name="reg1">Primeiro registro detalhe do boleto - SEGMENTO P</param> /// <param name="reg2">Segundo registro detalhe do boleto - SEGMENTO Q</param> /// <returns></returns> public DetalheRemessaCnab240 AdicionarBoletoAoLote(LoteRemessaCnab240 loteContainer, Boleto boletoAdicionar, int contador, int reg1, int reg2) { var detalheRemessaAdd = new DetalheRemessaCnab240(boletoAdicionar, contador); var numeroRegistroNoLote = 0; numeroRegistroNoLote = reg1; detalheRemessaAdd.SegmentoP = new DetalheSegmentoPRemessaCnab240(boletoAdicionar, numeroRegistroNoLote); numeroRegistroNoLote = reg2; detalheRemessaAdd.SegmentoQ = new DetalheSegmentoQRemessaCnab240(boletoAdicionar, numeroRegistroNoLote); loteContainer.RegistrosDetalheSegmentos.Add(detalheRemessaAdd); return detalheRemessaAdd; }
/// <summary> /// /// </summary> /// <param name="loteContainer">Lote onde serão adicionados os lançamentos</param> /// <param name="boletoAdicionar">Boleto que será detalhado nos detalhes de segmento</param> /// <param name="reg1">Primeiro registro detalhe do boleto - SEGMENTO P</param> /// <param name="reg2">Segundo registro detalhe do boleto - SEGMENTO Q</param> /// <returns></returns> public DetalheRemessaCnab240 AdicionarBoletoAoLote(LoteRemessaCnab240 loteContainer, Boleto boletoAdicionar, int contador, int reg1, int reg2) { var detalheRemessaAdd = new DetalheRemessaCnab240(boletoAdicionar, contador); var numeroRegistroNoLote = 0; numeroRegistroNoLote = reg1; detalheRemessaAdd.SegmentoP = new DetalheSegmentoPRemessaCnab240(boletoAdicionar, numeroRegistroNoLote); numeroRegistroNoLote = reg2; detalheRemessaAdd.SegmentoQ = new DetalheSegmentoQRemessaCnab240(boletoAdicionar, numeroRegistroNoLote); loteContainer.RegistrosDetalheSegmentos.Add(detalheRemessaAdd); return(detalheRemessaAdd); }
public DetalheRemessaCnab240 AdicionarBoletoAoLote(LoteRemessaCnab240 loteContainer, Pagamento pagamentoAdicionar, int contador, int reg1, int reg2) { var detalheRemessaAdd = new DetalheRemessaCnab240(pagamentoAdicionar, contador); var numeroRegistroNoLote = 0; if (string.IsNullOrEmpty(pagamentoAdicionar.CodBarras)) { numeroRegistroNoLote = reg1; detalheRemessaAdd.SegmentoA = new DetalheSegmentoARemessaCnab240(pagamentoAdicionar, numeroRegistroNoLote); numeroRegistroNoLote = reg2; detalheRemessaAdd.SegmentoB = new DetalheSegmentoBRemessaCnab240(pagamentoAdicionar, numeroRegistroNoLote); } else { /*é adicionado em lote separado dos registros AB*/ numeroRegistroNoLote = reg1; detalheRemessaAdd.SegmentoJ = new DetalheSegmentoJRemessaCnab240(pagamentoAdicionar, numeroRegistroNoLote); } loteContainer.RegistrosDetalheSegmentos.Add(detalheRemessaAdd); return(detalheRemessaAdd); }
public void TestGeracaoArquivoRemessaCef() { var dadosRemessa = new Remessa(Remessa.EnumTipoAmbiemte.Homologacao, EnumCodigoOcorrenciaRemessa.Registro, "2"); var banco = Fabricas.BancoFactory.ObterBanco("104", "0"); var contaBancariaCedente = new ContaBancaria("007", "8", "1234", "0"); var cedente = new Cedente("999999", "123456", 0, "99.999.999/9999-99", "Razão Social X", contaBancariaCedente, null); var sacado = new Sacado("Sacado Fulano de Tal", "99.999.999/9999-99", new Endereco { TipoLogradouro = "R", Logradouro = "1", Bairro = "Bairro X", Cidade = "Cidade X", SiglaUf = "XX", Cep = "12345-000", Complemento = "Comp X", Numero = "9", }); var carteira = new CarteiraCobranca { Codigo = "SR" }; var boleto = new Boleto(carteira, cedente, sacado, dadosRemessa) { BancoBoleto = banco, NumeroDocumento = "19", ValorBoleto = (decimal)1000.51, IdentificadorInternoBoleto = "19", DataVencimento = new DateTime(2014, 06, 30), Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil), }; var listaBoleto = new List<Boleto>(); listaBoleto.Add(boleto); banco.FormatarBoleto(boleto); #region GERAÇÃO 1 var remessa = new RemessaCnab240(); //var listaDetalhes = new List<DetalheRemessaCnab240>(); remessa.Header = new HeaderRemessaCnab240(listaBoleto.FirstOrDefault(), 1); //var detalheSegmentoP = new DetalheSegmentoPRemessaCnab240(boleto) //{ // CodigoCedente = "123456", // NossoNumero = "123456", // NumeroDocumento = "123456", // CodigoOcorrencia = new CodigoOcorrencia(01), // Especie = banco.ObtemEspecieDocumento(EnumEspecieDocumento.DuplicataMercantil), // Aceite = "N", // DataVencimento = new DateTime(2014, 10, 01), // ValorBoleto = (decimal)100.51, //}; remessa.Lotes = new List<LoteRemessaCnab240> { }; var loteAdd = new LoteRemessaCnab240(); loteAdd.HeaderLote = new HeaderLoteRemessaCnab240(listaBoleto.FirstOrDefault(), 1); loteAdd.TrailerLote = new TrailerLoteRemessaCnab240(1); //loteAdd.RegistrosDetalheSegmentos = new List<DetalheRemessaCnab240>(); //var detalheRemessaAdd = new DetalheRemessaCnab240(); //detalheRemessaAdd.SegmentoP = detalheSegmentoP; //loteAdd.RegistrosDetalheSegmentos.Add(detalheRemessaAdd); remessa.Lotes.Add(loteAdd); remessa.Trailer = new TrailerRemessaCnab240(1, 1); #endregion GERAÇÃO 1 var fabricaRemessa = new RemessaFactory(); var remessaPronta = fabricaRemessa.GerarRemessa(remessa.Header, loteAdd.HeaderLote, listaBoleto, loteAdd.TrailerLote, remessa.Trailer); var escritor = EscritorArquivoRemessaFactory.ObterEscritorRemessa(remessa); var linhasEscrever = escritor.EscreverTexto(remessaPronta); var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); var data = String.Format("{0}_{1}", DateTime.Now.ToString("ddMMyyyy"), DateTime.Now.ToString("HHmmss")); var nomeArquivo = string.Format("{0}{1}{2}{3}", banco.CodigoBanco, @"_REMESSA_", data, ".txt"); StringBuilder sb = new StringBuilder(); foreach (var linha in linhasEscrever) { sb.AppendLine(linha); } File.WriteAllLines("C:\\REMESSA.TXT", linhasEscrever.ToArray()); }