Esempio n. 1
0
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400();

            objRetornar.CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt();
            objRetornar.CodigoDeRetorno  = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt();
            objRetornar.CodigoDoServico  = linha.ExtrairValorDaLinha(3, 4);
            objRetornar.CodigoDoBanco    = linha.ExtrairValorDaLinha(5, 7);
            // Brancos
            objRetornar.QtdTitulosCobrancaSimples   = linha.ExtrairValorDaLinha(18, 25).BoletoBrToLong();
            objRetornar.ValorTitulosCobrancaSimples = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal() / 100;
            objRetornar.ReferenciaAvisoBancario1    = linha.ExtrairValorDaLinha(40, 47);
            // Brancos
            objRetornar.QtdTitulosCobrancaVinculada   = linha.ExtrairValorDaLinha(58, 65).BoletoBrToLong();
            objRetornar.ValorTitulosCobrancaVinculada = linha.ExtrairValorDaLinha(66, 79).BoletoBrToDecimal() / 100;
            objRetornar.ReferenciaAvisoBancario2      = linha.ExtrairValorDaLinha(80, 87);
            // Brancos
            objRetornar.QtdTitulosCobrancaDiretivaEscritural   = linha.ExtrairValorDaLinha(178, 185).BoletoBrToInt();
            objRetornar.ValorTitulosCobrancaDiretivaEscritural =
                linha.ExtrairValorDaLinha(186, 199).BoletoBrToDecimal() / 100;
            objRetornar.ReferenciaAvisoBancario3 = linha.ExtrairValorDaLinha(200, 207);
            objRetornar.NumeroSequencialRetorno  = linha.ExtrairValorDaLinha(208, 212).BoletoBrToInt();
            objRetornar.QtdRegistrosDetalhe      = linha.ExtrairValorDaLinha(213, 220).BoletoBrToInt();
            objRetornar.ValorTotalCobranca       = linha.ExtrairValorDaLinha(221, 234).BoletoBrToDecimal() / 100;
            // Brancos
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return(objRetornar);
        }
Esempio n. 2
0
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400();

            objRetornar.CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt();
            objRetornar.CodigoDeRetorno  = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt();
            objRetornar.CodigoDoServico  = linha.ExtrairValorDaLinha(3, 4);
            objRetornar.CodigoDoBanco    = linha.ExtrairValorDaLinha(5, 7);
            // Brancos (8-17)
            objRetornar.QtdTitulosCobrancaSimples   = linha.ExtrairValorDaLinha(18, 25).BoletoBrToLong();
            objRetornar.ValorTitulosCobrancaSimples = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal() / 100;
            objRetornar.ReferenciaAvisoBancario1    = linha.ExtrairValorDaLinha(40, 47);
            // Brancos (48-97)
            objRetornar.QtdTitulosCobrancaCaucionada   = linha.ExtrairValorDaLinha(98, 105).BoletoBrToLong();
            objRetornar.ValorTitulosCobrancaCaucionada = linha.ExtrairValorDaLinha(106, 119).BoletoBrToDecimal() / 100;
            objRetornar.ReferenciaAvisoBancario2       = linha.ExtrairValorDaLinha(120, 127);
            // Brancos (128-137)
            objRetornar.QtdTitulosCobrancaDescontada   = linha.ExtrairValorDaLinha(138, 145).BoletoBrToInt();
            objRetornar.ValorTitulosCobrancaDescontada = linha.ExtrairValorDaLinha(146, 159).BoletoBrToDecimal() / 100;
            objRetornar.ReferenciaAvisoBancario3       = linha.ExtrairValorDaLinha(160, 167);
            // Brancos (168-391)
            objRetornar.Versao           = linha.ExtrairValorDaLinha(392, 394).BoletoBrToInt();
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return(objRetornar);
        }
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400
            {
                CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt(),
                CodigoDeRetorno  = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt(),
                TipoRegistro     = linha.ExtrairValorDaLinha(3, 4),
                CodigoDoBanco    = linha.ExtrairValorDaLinha(5, 7)
            };

            /** POSIÇÃO ATUAL DA COBRANÇA SIMPLES **/
            objRetornar.QtdTitulosCobranca  = linha.ExtrairValorDaLinha(18, 25).BoletoBrToInt();
            objRetornar.ValorTotalCobranca  = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal() / 100;
            objRetornar.NumeroAvisoBancario = linha.ExtrairValorDaLinha(40, 47).BoletoBrToLong();

            /** POSIÇÃO ATUAL DA COBRANÇA VINCULADA **/
            if (objRetornar.QtdTitulosCobranca == 0)
            {
                objRetornar.QtdTitulosCobranca = linha.ExtrairValorDaLinha(98, 105).BoletoBrToInt();
            }
            if (objRetornar.ValorTotalCobranca == 0)
            {
                objRetornar.ValorTotalCobranca = linha.ExtrairValorDaLinha(106, 119).BoletoBrToDecimal() / 100;
            }
            if (objRetornar.NumeroAvisoBancario == 0)
            {
                objRetornar.NumeroAvisoBancario = linha.ExtrairValorDaLinha(120, 127).BoletoBrToLong();
            }

            return(objRetornar);
        }
Esempio n. 4
0
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400();

            try
            {
                objRetornar.CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt();
                objRetornar.CodigoDeRetorno  = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt();
                objRetornar.CodigoDoServico  = linha.ExtrairValorDaLinha(3, 4);
                objRetornar.CodigoDoBanco    = linha.ExtrairValorDaLinha(5, 7);
                // Brancos (8-17)
                objRetornar.QtdTitulosCobrancaSimples   = linha.ExtrairValorDaLinha(18, 25).BoletoBrToLong();
                objRetornar.ValorTitulosCobrancaSimples = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal() / 100;
                objRetornar.ReferenciaAvisoBancario1    = linha.ExtrairValorDaLinha(40, 47);
                // Brancos (48-97)
                objRetornar.QtdTitulosCobrancaCaucionada   = linha.ExtrairValorDaLinha(98, 105).BoletoBrToLong();
                objRetornar.ValorTitulosCobrancaCaucionada = linha.ExtrairValorDaLinha(106, 119).BoletoBrToDecimal() / 100;
                objRetornar.ReferenciaAvisoBancario2       = linha.ExtrairValorDaLinha(120, 127);
                // Brancos (128-137)
                objRetornar.QtdTitulosCobrancaDescontada   = linha.ExtrairValorDaLinha(138, 145).BoletoBrToInt();
                objRetornar.ValorTitulosCobrancaDescontada = linha.ExtrairValorDaLinha(146, 159).BoletoBrToDecimal() / 100;
                objRetornar.ReferenciaAvisoBancario3       = linha.ExtrairValorDaLinha(160, 167);
                // Brancos (168-391)
                objRetornar.Versao           = linha.ExtrairValorDaLinha(392, 394).BoletoBrToInt();
                objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();
            }
            catch (Exception ex)
            {
                throw new ArgumentException("O arquivo selecionado possui um formato inválido ou não corresponde a conta bancária escolhida", ex);
            }

            return(objRetornar);
        }
Esempio n. 5
0
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400
            {
                CodigoDoRegistro                 = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt(),
                CodigoDeRetorno                  = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt(),
                TipoRegistro                     = linha.ExtrairValorDaLinha(3, 4),
                CodigoDoBanco                    = linha.ExtrairValorDaLinha(5, 7),
                QtdTitulosCobranca               = linha.ExtrairValorDaLinha(18, 25).BoletoBrToInt(),
                ValorTotalCobranca               = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal() / 100,
                NumeroAvisoBancario              = linha.ExtrairValorDaLinha(40, 47).BoletoBrToLong(),
                QtdRegistrosConfirmacaoEntrada   = linha.ExtrairValorDaLinha(58, 62).BoletoBrToInt(),
                ValorRegistrosConfirmacaoEntrada = linha.ExtrairValorDaLinha(63, 74).BoletoBrToDecimal() / 100,
                ValorRegistrosLiquidacao         = linha.ExtrairValorDaLinha(75, 86).BoletoBrToDecimal() / 100,
                QtdRegistrosLiquidacao           = linha.ExtrairValorDaLinha(87, 91).BoletoBrToInt()
            };

            // Layout técnico do Bradesco possui uma falha nas posições do registros TRAILER na qtd e valor dos regitros liquidados
            objRetornar.ValorRegistrosLiquidacao                   = linha.ExtrairValorDaLinha(92, 103).BoletoBrToDecimal() / 100;
            objRetornar.QtdRegistrosBaixados                       = linha.ExtrairValorDaLinha(104, 108).BoletoBrToInt();
            objRetornar.ValorRegistrosBaixados                     = linha.ExtrairValorDaLinha(109, 120).BoletoBrToDecimal() / 100;
            objRetornar.QtdRegistrosAbatimentosCancelados          = linha.ExtrairValorDaLinha(121, 125).BoletoBrToInt();
            objRetornar.ValorRegistrosAbatimentosCancelados        = linha.ExtrairValorDaLinha(126, 137).BoletoBrToDecimal() / 100;
            objRetornar.QtdRegistrosVencimentosAlterados           = linha.ExtrairValorDaLinha(138, 142).BoletoBrToInt();
            objRetornar.ValorRegistrosVencimentosAlterados         = linha.ExtrairValorDaLinha(143, 154).BoletoBrToDecimal() / 100;
            objRetornar.QtdRegistrosAbatimentoConcedido            = linha.ExtrairValorDaLinha(155, 159).BoletoBrToInt();
            objRetornar.ValorRegistrosAbatimentoConcedido          = linha.ExtrairValorDaLinha(160, 171).BoletoBrToDecimal() / 100;
            objRetornar.QtdRegistrosConfirmacaoInstrucaoProtesto   = linha.ExtrairValorDaLinha(172, 176).BoletoBrToInt();
            objRetornar.ValorRegistrosConfirmacaoInstrucaoProtesto = linha.ExtrairValorDaLinha(177, 188).BoletoBrToDecimal() / 100;
            objRetornar.ValorTotalRateiosEfetuados                 = linha.ExtrairValorDaLinha(363, 377).BoletoBrToDecimal() / 100;
            objRetornar.QtdRateiosEfetuados = linha.ExtrairValorDaLinha(378, 385).BoletoBrToInt();
            objRetornar.NumeroSequencial    = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return(objRetornar);
        }
Esempio n. 6
0
        /// <summary>
        /// Cód. Registro: 9
        /// Registro: TRAILER
        /// Descrição: Encerramento do arquivo
        /// </summary>
        /// <param name="linha"></param>
        /// <returns></returns>
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400
            {
                CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt(),
                CodigoDeRetorno  = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt(),
                CodigoDoServico  = linha.ExtrairValorDaLinha(3, 4),
                CodigoDoBanco    = linha.ExtrairValorDaLinha(5, 7),
                //Brancos
                QtdTitulosCobrancaSimples   = linha.ExtrairValorDaLinha(18, 25).BoletoBrToLong(),
                ValorTitulosCobrancaSimples = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal() / 100,
                NumeroAvisoCobrancaSimples  = linha.ExtrairValorDaLinha(40, 47).BoletoBrToInt(),
                //Brancos
                QtdTitulosCobrancaVinculada   = linha.ExtrairValorDaLinha(58, 65).BoletoBrToLong(),
                ValorTitulosCobrancaVinculada = linha.ExtrairValorDaLinha(66, 79).BoletoBrToDecimal() / 100,
                NumeroAvisoCobrancaVinculada  = linha.ExtrairValorDaLinha(80, 87).BoletoBrToInt(),
                //Brancos
                QtdTitulosCobrancaCaucionada   = linha.ExtrairValorDaLinha(98, 105).BoletoBrToInt(),
                ValorTitulosCobrancaCaucionada = linha.ExtrairValorDaLinha(106, 119).BoletoBrToDecimal() / 100,
                NumeroAvisoCobrancaCaucionada  = linha.ExtrairValorDaLinha(120, 127).BoletoBrToInt(),
                //Brancos
                QtdTitulosCobrancaDescontada   = linha.ExtrairValorDaLinha(138, 145).BoletoBrToInt(),
                ValorTitulosCobrancaDescontada = linha.ExtrairValorDaLinha(146, 159).BoletoBrToDecimal() / 100,
                NumeroAvisoCobrancaDescontada  = linha.ExtrairValorDaLinha(160, 167).BoletoBrToInt(),
                //Brancos
                QtdTitulosCobrancaVendor   = linha.ExtrairValorDaLinha(218, 225).BoletoBrToInt(),
                ValorTitulosCobrancaVendor = linha.ExtrairValorDaLinha(226, 239).BoletoBrToDecimal() / 100,
                NumeroAvisoCobrancaVendor  = linha.ExtrairValorDaLinha(240, 247).BoletoBrToInt(),
                //Brancos
                NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt()
            };

            return(objRetornar);
        }
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400();

            objRetornar.CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt();
            // Brancos
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return(objRetornar);
        }
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400
            {
                CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt(),
                CodigoDeRetorno  = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt(),
                CodigoDoServico  = linha.ExtrairValorDaLinha(3, 4),
                CodigoDoBanco    = linha.ExtrairValorDaLinha(5, 7),
                NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt()
            };

            return(objRetornar);
        }
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400();

            objRetornar.CodigoDoRegistro              = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt();
            objRetornar.QtdTitulosCobrancaSimples     = linha.ExtrairValorDaLinha(18, 25).BoletoBrToLong();
            objRetornar.ValorTitulosCobrancaSimples   = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal() / 100;
            objRetornar.ReferenciaAvisoBancario1      = linha.ExtrairValorDaLinha(40, 47);
            objRetornar.QtdTitulosCobrancaVinculada   = linha.ExtrairValorDaLinha(49, 55).BoletoBrToLong();
            objRetornar.ValorTitulosCobrancaVinculada = linha.ExtrairValorDaLinha(56, 70).BoletoBrToDecimal() / 100;
            objRetornar.NumeroSequencial              = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return(objRetornar);
        }
Esempio n. 10
0
        public TrailerRetornoCnab400 ObterTrailer(string linhaObterInformacoes)
        {
            var objRetornar = new TrailerRetornoCnab400();

            var linha = linhaObterInformacoes;

            objRetornar.CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt();
            objRetornar.CodigoDeRetorno  = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt();
            objRetornar.CodigoDoServico  = linha.ExtrairValorDaLinha(3, 4);
            objRetornar.CodigoDoBanco    = linha.ExtrairValorDaLinha(5, 7);
            // Brancos
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return(objRetornar);
        }
Esempio n. 11
0
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400
            {
                CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt(),
                CodigoDeRetorno  = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt(),
                TipoRegistro     = linha.ExtrairValorDaLinha(3, 4),
                CodigoDoBanco    = linha.ExtrairValorDaLinha(5, 7),
                QtdRegistrosConfirmacaoEntrada   = linha.ExtrairValorDaLinha(58, 62).BoletoBrToInt(),
                ValorRegistrosConfirmacaoEntrada = linha.ExtrairValorDaLinha(63, 74).BoletoBrToDecimal() / 100,
                QtdRegistrosLiquidacao           = linha.ExtrairValorDaLinha(87, 91).BoletoBrToInt(),
                ValorTotalCobranca = linha.ExtrairValorDaLinha(92, 103).BoletoBrToDecimal() / 100,
                NumeroSequencial   = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt()
            };

            return(objRetornar);
        }
Esempio n. 12
0
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400();

            objRetornar.CodigoDoRegistro    = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt();
            objRetornar.CodigoDoServico     = linha.ExtrairValorDaLinha(2, 3);
            objRetornar.CodigoDoBanco       = linha.ExtrairValorDaLinha(4, 6);
            objRetornar.CodigoCooperativa   = linha.ExtrairValorDaLinha(7, 10);
            objRetornar.SiglaCooperativa    = linha.ExtrairValorDaLinha(11, 35);
            objRetornar.EnderecoCooperativa = linha.ExtrairValorDaLinha(36, 85);
            objRetornar.BairroCooperativa   = linha.ExtrairValorDaLinha(86, 115);
            objRetornar.CEPCooperativa      = linha.ExtrairValorDaLinha(116, 123);
            objRetornar.CidadeCooperativa   = linha.ExtrairValorDaLinha(124, 153);
            objRetornar.UFCooperativa       = linha.ExtrairValorDaLinha(154, 155);
            objRetornar.DataMovimento       = linha.ExtrairValorDaLinha(156, 163).ToDateTimeFromDdMmAaaa();
            objRetornar.QtdRegistrosDetalhe = linha.ExtrairValorDaLinha(164, 171).BoletoBrToInt();
            objRetornar.UltimoNossoNumero   = linha.ExtrairValorDaLinha(172, 182);
            //183-394 BRANCOS
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return(objRetornar);
        }
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400();

            try
            {
                objRetornar.CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt();
                objRetornar.CodigoDeRetorno  = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt();
                objRetornar.CodigoDoServico  = linha.ExtrairValorDaLinha(3, 4);
                objRetornar.CodigoDoBanco    = linha.ExtrairValorDaLinha(5, 7);
                // Brancos
                objRetornar.QtdTitulosCobrancaSimples   = linha.ExtrairValorDaLinha(18, 25).BoletoBrToLong();
                objRetornar.ValorTitulosCobrancaSimples = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal() / 100;
                objRetornar.ReferenciaAvisoBancario1    = linha.ExtrairValorDaLinha(40, 47);
                // Brancos
                objRetornar.QtdTitulosCobrancaVinculada   = linha.ExtrairValorDaLinha(58, 65).BoletoBrToLong();
                objRetornar.ValorTitulosCobrancaVinculada = linha.ExtrairValorDaLinha(66, 79).BoletoBrToDecimal() / 100;
                objRetornar.ReferenciaAvisoBancario2      = linha.ExtrairValorDaLinha(80, 87);
                // Brancos
                objRetornar.QtdTitulosCobrancaDiretivaEscritural   = linha.ExtrairValorDaLinha(178, 185).BoletoBrToInt();
                objRetornar.ValorTitulosCobrancaDiretivaEscritural =
                    linha.ExtrairValorDaLinha(186, 199).BoletoBrToDecimal() / 100;
                objRetornar.ReferenciaAvisoBancario3 = linha.ExtrairValorDaLinha(200, 207);
                objRetornar.NumeroSequencialRetorno  = linha.ExtrairValorDaLinha(208, 212).BoletoBrToInt();
                objRetornar.QtdRegistrosDetalhe      = linha.ExtrairValorDaLinha(213, 220).BoletoBrToInt();
                objRetornar.ValorTotalCobranca       = linha.ExtrairValorDaLinha(221, 234).BoletoBrToDecimal() / 100;
                // Brancos
                objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();
            }
            catch (Exception ex)
            {
                throw new ArgumentException("O arquivo selecionado possui um formato inválido ou não corresponde a conta bancária escolhida", ex);
            }

            return(objRetornar);
        }
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400();

            objRetornar.CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt();
            objRetornar.CodigoDeRetorno = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt();
            objRetornar.CodigoDoServico = linha.ExtrairValorDaLinha(3, 4);
            objRetornar.CodigoDoBanco = linha.ExtrairValorDaLinha(5, 7);
            // Brancos (8-17)
            objRetornar.QtdTitulosCobrancaSimples = linha.ExtrairValorDaLinha(18, 25).BoletoBrToLong();
            objRetornar.ValorTitulosCobrancaSimples = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal() / 100;
            objRetornar.ReferenciaAvisoBancario1 = linha.ExtrairValorDaLinha(40, 47);
            // Brancos (48-97)
            objRetornar.QtdTitulosCobrancaCaucionada = linha.ExtrairValorDaLinha(98, 105).BoletoBrToLong();
            objRetornar.ValorTitulosCobrancaCaucionada = linha.ExtrairValorDaLinha(106, 119).BoletoBrToDecimal() / 100;
            objRetornar.ReferenciaAvisoBancario2 = linha.ExtrairValorDaLinha(120, 127);
            // Brancos (128-137)
            objRetornar.QtdTitulosCobrancaDescontada = linha.ExtrairValorDaLinha(138, 145).BoletoBrToInt();
            objRetornar.ValorTitulosCobrancaDescontada = linha.ExtrairValorDaLinha(146, 159).BoletoBrToDecimal() / 100;
            objRetornar.ReferenciaAvisoBancario3 = linha.ExtrairValorDaLinha(160, 167);
            // Brancos (168-391)
            objRetornar.Versao = linha.ExtrairValorDaLinha(392, 394).BoletoBrToInt();
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return objRetornar;
        }
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400();

            objRetornar.CodigoDoRegistro = linha.ExtrairValorDaLinha(1,1).BoletoBrToInt();
            objRetornar.CodigoDeRetorno = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt();
            objRetornar.CodigoDoServico = linha.ExtrairValorDaLinha(3, 4);
            objRetornar.CodigoDoBanco = linha.ExtrairValorDaLinha(5, 7);
            // Brancos
            objRetornar.QtdTitulosCobrancaSimples = linha.ExtrairValorDaLinha(18, 25).BoletoBrToLong();
            objRetornar.ValorTitulosCobrancaSimples = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal()/100;
            objRetornar.ReferenciaAvisoBancario1 = linha.ExtrairValorDaLinha(40, 47);
            // Brancos
            objRetornar.QtdTitulosCobrancaVinculada = linha.ExtrairValorDaLinha(58, 65).BoletoBrToLong();
            objRetornar.ValorTitulosCobrancaVinculada = linha.ExtrairValorDaLinha(66, 79).BoletoBrToDecimal()/100;
            objRetornar.ReferenciaAvisoBancario2 = linha.ExtrairValorDaLinha(80, 87);
            // Brancos
            objRetornar.QtdTitulosCobrancaDiretivaEscritural = linha.ExtrairValorDaLinha(178, 185).BoletoBrToInt();
            objRetornar.ValorTitulosCobrancaDiretivaEscritural = linha.ExtrairValorDaLinha(186, 199).BoletoBrToDecimal()/100;
            objRetornar.ReferenciaAvisoBancario3 = linha.ExtrairValorDaLinha(200, 207);
            objRetornar.NumeroSequencialRetorno = linha.ExtrairValorDaLinha(208, 212).BoletoBrToInt();
            objRetornar.QtdRegistrosDetalhe = linha.ExtrairValorDaLinha(213, 220).BoletoBrToInt();
            objRetornar.ValorTotalCobranca = linha.ExtrairValorDaLinha(221, 234).BoletoBrToDecimal()/100;
            // Brancos
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return objRetornar;
        }
        public TrailerRetornoCnab400 ObterTrailer(string linhaObterInformacoes)
        {
            var objRetornar = new TrailerRetornoCnab400();

            var linha = linhaObterInformacoes;

            objRetornar.CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt();
            objRetornar.CodigoDeRetorno = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt();
            objRetornar.CodigoDoServico = linha.ExtrairValorDaLinha(3, 4);
            objRetornar.CodigoDoBanco = linha.ExtrairValorDaLinha(5, 7);
            // Uso Exclusivo CAIXA (8 - 394)
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return objRetornar;
        }
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400
            {
                CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt(),
                CodigoDeRetorno = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt(),
                TipoRegistro = linha.ExtrairValorDaLinha(3, 4),
                CodigoDoBanco = linha.ExtrairValorDaLinha(5, 7),
                QtdTitulosCobranca = linha.ExtrairValorDaLinha(18, 25).BoletoBrToInt(),
                ValorTotalCobranca = linha.ExtrairValorDaLinha(26, 39).BoletoBrToDecimal()/100,
                NumeroAvisoBancario = linha.ExtrairValorDaLinha(40, 47).BoletoBrToLong(),
                QtdRegistrosConfirmacaoEntrada = linha.ExtrairValorDaLinha(58, 62).BoletoBrToInt(),
                ValorRegistrosConfirmacaoEntrada = linha.ExtrairValorDaLinha(63, 74).BoletoBrToDecimal()/100,
                ValorRegistrosLiquidacao = linha.ExtrairValorDaLinha(75, 86).BoletoBrToDecimal()/100,
                QtdRegistrosLiquidacao = linha.ExtrairValorDaLinha(87, 91).BoletoBrToInt()
            };

            // Layout técnico do Bradesco possui uma falha nas posições do registros TRAILER na qtd e valor dos regitros liquidados
            objRetornar.ValorRegistrosLiquidacao = linha.ExtrairValorDaLinha(92, 103).BoletoBrToDecimal()/100;
            objRetornar.QtdRegistrosBaixados = linha.ExtrairValorDaLinha(104, 108).BoletoBrToInt();
            objRetornar.ValorRegistrosBaixados = linha.ExtrairValorDaLinha(109, 120).BoletoBrToDecimal()/100;
            objRetornar.QtdRegistrosAbatimentosCancelados = linha.ExtrairValorDaLinha(121, 125).BoletoBrToInt();
            objRetornar.ValorRegistrosAbatimentosCancelados = linha.ExtrairValorDaLinha(126, 137).BoletoBrToDecimal()/100;
            objRetornar.QtdRegistrosVencimentosAlterados = linha.ExtrairValorDaLinha(138, 142).BoletoBrToInt();
            objRetornar.ValorRegistrosVencimentosAlterados = linha.ExtrairValorDaLinha(143, 154).BoletoBrToDecimal()/100;
            objRetornar.QtdRegistrosAbatimentoConcedido = linha.ExtrairValorDaLinha(155, 159).BoletoBrToInt();
            objRetornar.ValorRegistrosAbatimentoConcedido = linha.ExtrairValorDaLinha(160, 171).BoletoBrToDecimal()/100;
            objRetornar.QtdRegistrosConfirmacaoInstrucaoProtesto = linha.ExtrairValorDaLinha(172, 176).BoletoBrToInt();
            objRetornar.ValorRegistrosConfirmacaoInstrucaoProtesto = linha.ExtrairValorDaLinha(177, 188).BoletoBrToDecimal()/100;
            objRetornar.ValorTotalRateiosEfetuados = linha.ExtrairValorDaLinha(363, 377).BoletoBrToDecimal()/100;
            objRetornar.QtdRateiosEfetuados = linha.ExtrairValorDaLinha(378, 385).BoletoBrToInt();
            objRetornar.NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt();

            return objRetornar;
        }
        public TrailerRetornoCnab400 ObterTrailer(string linha)
        {
            var objRetornar = new TrailerRetornoCnab400
            {
                CodigoDoRegistro = linha.ExtrairValorDaLinha(1, 1).BoletoBrToInt(),
                CodigoDeRetorno = linha.ExtrairValorDaLinha(2, 2).BoletoBrToInt(),
                TipoRegistro = linha.ExtrairValorDaLinha(3, 4),
                CodigoDoBanco = linha.ExtrairValorDaLinha(5, 7),
                QtdRegistrosConfirmacaoEntrada = linha.ExtrairValorDaLinha(58, 62).BoletoBrToInt(),
                ValorRegistrosConfirmacaoEntrada = linha.ExtrairValorDaLinha(63, 74).BoletoBrToDecimal()/100,
                QtdRegistrosLiquidacao = linha.ExtrairValorDaLinha(87, 91).BoletoBrToInt(),
                ValorTotalCobranca = linha.ExtrairValorDaLinha(92, 103).BoletoBrToDecimal()/100,
                NumeroSequencial = linha.ExtrairValorDaLinha(395, 400).BoletoBrToInt()
            };

            return objRetornar;
        }