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");
     }
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 public EscritorRemessaDebitoAutomatico(RemessaDebitoAutomatico remessaEscrever)
 {
     _remessaEscrever = remessaEscrever;
 }