public static IEscritorArquivoRemessaDebitoAutomatico ObterEscritorRemessa(RemessaDebitoAutomatico remessaEscrever) { if (remessaEscrever.RegistrosDetalheC != null && remessaEscrever.RegistrosDetalheC.Any() || remessaEscrever.RegistrosDetalheD != null && remessaEscrever.RegistrosDetalheD.Any() || remessaEscrever.RegistrosDetalheE != null && remessaEscrever.RegistrosDetalheE.Any() || remessaEscrever.RegistrosDetalheI != null && remessaEscrever.RegistrosDetalheI.Any() || remessaEscrever.RegistrosDetalheL != null && remessaEscrever.RegistrosDetalheL.Any() || remessaEscrever.RegistrosDetalheJ != null && remessaEscrever.RegistrosDetalheJ.Any()) { return(new EscritorRemessaDebitoAutomatico(remessaEscrever)); } else { throw new Exception("Não foi identificado registro de DETALHE"); } }
public List <string> EscreverTexto(RemessaDebitoAutomatico remessaEscrever) { List <string> listaRetornar = new List <string>(); listaRetornar.Add(EscreverHeader(remessaEscrever.Header)); var sequenciaC = 2; if (remessaEscrever.RegistrosDetalheC != null) { foreach (var detalheAdicionar in remessaEscrever.RegistrosDetalheC) { listaRetornar.AddRange(new[] { EscreverDetalhe(detalheAdicionar, sequenciaC) }); sequenciaC++; } } var sequenciaD = sequenciaC; if (remessaEscrever.RegistrosDetalheD != null) { foreach (var detalheAdicionar in remessaEscrever.RegistrosDetalheD) { listaRetornar.AddRange(new[] { EscreverDetalhe(detalheAdicionar, sequenciaD) }); sequenciaD++; } } var sequenciaE = sequenciaD; if (remessaEscrever.RegistrosDetalheE != null) { foreach (var detalheAdicionar in remessaEscrever.RegistrosDetalheE) { listaRetornar.AddRange(new[] { EscreverDetalhe(detalheAdicionar, sequenciaE) }); sequenciaE++; } } var sequenciaI = sequenciaE; if (remessaEscrever.RegistrosDetalheI != null) { foreach (var detalheAdicionar in remessaEscrever.RegistrosDetalheI) { listaRetornar.AddRange(new[] { EscreverDetalhe(detalheAdicionar, sequenciaI) }); sequenciaI++; } } var sequenciaJ = sequenciaI; if (remessaEscrever.RegistrosDetalheJ != null) { foreach (var detalheAdicionar in remessaEscrever.RegistrosDetalheJ) { listaRetornar.AddRange(new[] { EscreverDetalhe(detalheAdicionar, sequenciaJ) }); sequenciaJ++; } } var sequenciaL = sequenciaJ; if (remessaEscrever.RegistrosDetalheL != null) { foreach (var detalheAdicionar in remessaEscrever.RegistrosDetalheL) { listaRetornar.AddRange(new[] { EscreverDetalhe(detalheAdicionar, sequenciaL) }); sequenciaL++; } } /*trailer*/ var total = remessaEscrever.RegistrosDetalheE != null?remessaEscrever.RegistrosDetalheE.Sum(s => s.ValorDebito) : 0; remessaEscrever.Trailer = new TrailerRemessaDebitoAutomatico(sequenciaL, total); listaRetornar.Add(EscreverTrailer(remessaEscrever.Trailer, sequenciaL)); return(listaRetornar); }
public EscritorRemessaDebitoAutomatico(RemessaDebitoAutomatico remessaEscrever) { _remessaEscrever = remessaEscrever; }