Beispiel #1
0
        public RetornoGenerico LerArquivoRetorno(List <string> linhasArquivo)
        {
            if (linhasArquivo == null || linhasArquivo.Any() == false)
            {
                throw new ApplicationException("Arquivo informado é inválido/Não existem títulos no retorno.");
            }

            /* Identifica o layout: 240 ou 400 */
            if (linhasArquivo.First().Length == 240)
            {
                var leitor            = new LeitorRetornoCnab240Cef(linhasArquivo);
                var retornoProcessado = leitor.ProcessarRetorno();

                var objRetornar = new RetornoGenerico(retornoProcessado);
                return(objRetornar);
            }
            if (linhasArquivo.First().Length == 400)
            {
                var leitor            = new LeitorRetornoCnab400Cef(linhasArquivo);
                var retornoProcessado = leitor.ProcessarRetorno();

                var objRetornar = new RetornoGenerico(retornoProcessado);
                return(objRetornar);
            }

            throw new Exception("Arquivo de RETORNO com " + linhasArquivo.First().Length + " posições, não é suportado.");
        }
        public void TestHeaderArquivoRetornoCnab240BancoCef()
        {
            LeitorRetornoCnab240Cef leitor = new LeitorRetornoCnab240Cef(null);

            string valorTesteRegistro =
                "10400000         2106230130001700000000000000000000001839220301600000000RMEX CONSTRUTORA E INCORPORADOC ECON FEDERAL                          22507201400562700036204000000                    RETORNO-PRODUCAO                  000         ";

            var resultado = leitor.ObterHeader(valorTesteRegistro);

            Assert.AreEqual(resultado.NomeDoBeneficiario, "RMEX CONSTRUTORA E INCORPORADO");
        }
        public void TestDetalheSegmentoUArquivoRetornoCnab240BancoCef()
        {
            LeitorRetornoCnab240Cef leitor = new LeitorRetornoCnab240Cef(null);

            string valorTesteRegistro =
                "1040001300790U 09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000250720140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000       ";

            var resultado = leitor.ObterRegistrosDetalheU(valorTesteRegistro);

            Assert.AreEqual(resultado.CodigoSegmento, "U");
        }
        public void TestDetalheSegmentoTArquivoRetornoCnab240BancoCef()
        {
            LeitorRetornoCnab240Cef leitor = new LeitorRetornoCnab240Cef(null);

            string valorTesteRegistro =
                "1040001300001T 060000002030160000000   110000000588426997100002055010    1007201400000000003818100004222000002055010              090000000000000000NATANNI SANTANA PINHEIRO                          000000000000320030100                     ";

            var resultado = leitor.ObterRegistrosDetalheT(valorTesteRegistro);

            Assert.AreEqual(resultado.CodigoSegmento, "T");
        }
Beispiel #5
0
        public RetornoGenerico LerArquivoRetorno(List<string> linhasArquivo)
        {
            if (linhasArquivo == null || linhasArquivo.Any() == false)
                throw new ApplicationException("Arquivo informado é inválido.");

            /* Identifica o layout: 240 ou 400 */
            if (linhasArquivo.First().Length == 240)
            {
                var leitor = new LeitorRetornoCnab240Cef(linhasArquivo);
                var retornoProcessado = leitor.ProcessarRetorno();

                var objRetornar = new RetornoGenerico(retornoProcessado);
                return objRetornar;
            }
            if (linhasArquivo.First().Length == 400)
            {
                var leitor = new LeitorRetornoCnab400Cef(linhasArquivo);
                var retornoProcessado = leitor.ProcessarRetorno();

                var objRetornar = new RetornoGenerico(retornoProcessado);
                return objRetornar;
            }

            throw new Exception("Arquivo de RETORNO com " + linhasArquivo.First().Length + " posições, não é suportado.");
        }
        public void TestHeaderLoteArquivoRetornoCnab240BancoCef()
        {
            LeitorRetornoCnab240Cef leitor = new LeitorRetornoCnab240Cef(null);

            string valorTesteRegistro =
                "10400011T0100030 20106230130001700000000000000000000001839220301600000000RMEX CONSTRUTORA E INCORPORADO                                                                                00000362250720140000000000                          00   ";

            var resultado = leitor.ObterHeaderLote(valorTesteRegistro);

            Assert.AreEqual(resultado.TipoOperacao, "T");
        }
        public void TestTrailerLoteArquivoRetornoCnab240BancoCef()
        {
            LeitorRetornoCnab240Cef leitor = new LeitorRetornoCnab240Cef(null);

            string valorTesteRegistro =
                "10400015         00079600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000                                                                                                                             ";

            var resultado = leitor.ObterTrailerLote(valorTesteRegistro);

            Assert.AreEqual(resultado.QtdRegistrosLote, 796);
        }
        public void TestTrailerArquivoRetornoCnab240BancoCef()
        {
            LeitorRetornoCnab240Cef leitor = new LeitorRetornoCnab240Cef(null);

            string valorTesteRegistro =
                "10499999         000001000798                                                                                                                                                                                                                ";

            var resultado = leitor.ObterTrailer(valorTesteRegistro);

            Assert.AreEqual(resultado.LoteServico, "9999");
        }