Ejemplo n.º 1
0
        public override DetalheSegmentoURetornoCNAB240 LerDetalheSegmentoURetornoCNAB240(string registro)
        {
            string _Controle_numBanco            = registro.Substring(0, 3);    //01
            string _Controle_lote                = registro.Substring(3, 7);    //02
            string _Controle_regis               = registro.Substring(7, 1);    //03
            string _Servico_numRegis             = registro.Substring(8, 5);    //04
            string _Servico_segmento             = registro.Substring(13, 1);   //05
            string _cnab06                       = registro.Substring(14, 1);   //06
            string _Servico_codMov               = registro.Substring(15, 2);   //07
            string _dadosTituloAcrescimo         = registro.Substring(17, 15);  //08
            string _dadosTituloValorDesconto     = registro.Substring(32, 15);  //09
            string _dadosTituloValorAbatimento   = registro.Substring(47, 15);  //10
            string _dadosTituloValorIof          = registro.Substring(62, 15);  //11
            string _dadosTituloValorPago         = registro.Substring(76, 15);  //12
            string _dadosTituloValorCreditoBruto = registro.Substring(92, 15);  //13
            string _outDespesas                  = registro.Substring(107, 15); //14
            string _outPerCredEntRecb            = registro.Substring(122, 5);  //15
            string _outBanco                     = registro.Substring(127, 10); //16
            string _outDataOcorrencia            = registro.Substring(137, 8);  //17
            string _outDataCredito               = registro.Substring(145, 8);  //18
            string _cnab19                       = registro.Substring(153, 87); //19


            try
            {
                if (!registro.Substring(13, 1).Equals(@"U"))
                {
                    throw new Exception("Registro inválida. O detalhe não possuí as características do segmento U.");
                }

                DetalheSegmentoURetornoCNAB240 segmentoU = new DetalheSegmentoURetornoCNAB240(registro);
                segmentoU.JurosMultaEncargos        = Convert.ToDouble(registro.Substring(17, 15)) / 100;
                segmentoU.ValorDescontoConcedido    = Convert.ToDouble(registro.Substring(32, 15)) / 100;
                segmentoU.ValorAbatimentoConcedido  = Convert.ToDouble(registro.Substring(47, 15)) / 100;
                segmentoU.ValorIOFRecolhido         = Convert.ToDouble(registro.Substring(62, 15)) / 100;
                segmentoU.ValorOcorrenciaSacado     = segmentoU.ValorPagoPeloSacado = Convert.ToDouble(registro.Substring(77, 15)) / 100;
                segmentoU.ValorLiquidoASerCreditado = Convert.ToDouble(registro.Substring(92, 15)) / 100;
                segmentoU.ValorOutrasDespesas       = Convert.ToDouble(registro.Substring(107, 15)) / 100;
                segmentoU.ValorOutrosCreditos       = Convert.ToDouble(registro.Substring(122, 15)) / 100;
                segmentoU.DataOcorrencia            = segmentoU.DataOcorrencia = DateTime.ParseExact(registro.Substring(137, 8), "ddMMyyyy", CultureInfo.InvariantCulture);
                segmentoU.DataCredito            = DateTime.ParseExact(registro.Substring(145, 8), "ddMMyyyy", CultureInfo.InvariantCulture);
                segmentoU.CodigoOcorrenciaSacado = registro.Substring(153, 4);

                return(segmentoU);
            }
            catch (Exception ex)
            {
                //TrataErros.Tratar(ex);
                throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO U.", ex);
            }
        }
        public DetalheRetornoCNAB240(DetalheSegmentoTRetornoCNAB240 segmentoT, DetalheSegmentoURetornoCNAB240 segmentoU)
		{
            _segmentoT = segmentoT;
            _segmentoU = segmentoU;
        }
Ejemplo n.º 3
0
        public override DetalheSegmentoURetornoCNAB240 LerDetalheSegmentoURetornoCNAB240(string registro)
        {
            try
            {
                if (!registro.Substring(13, 1).Equals(@"U"))
                {
                    throw new Exception("Registro inválida. O detalhe não possuí as características do segmento U.");
                }

                DetalheSegmentoURetornoCNAB240 segmentoU = new DetalheSegmentoURetornoCNAB240(registro);
                segmentoU.JurosMultaEncargos = Convert.ToDecimal(registro.Substring(17, 15)) / DECIMAL_100;
                segmentoU.ValorDescontoConcedido = Convert.ToDecimal(registro.Substring(32, 15)) / DECIMAL_100;
                segmentoU.ValorAbatimentoConcedido = Convert.ToDecimal(registro.Substring(47, 15)) / DECIMAL_100;
                segmentoU.ValorIOFRecolhido = Convert.ToDecimal(registro.Substring(62, 15)) / DECIMAL_100;
                segmentoU.ValorOcorrenciaSacado = segmentoU.ValorPagoPeloSacado = Convert.ToDecimal(registro.Substring(77, 15)) / DECIMAL_100;
                segmentoU.ValorLiquidoASerCreditado = Convert.ToDecimal(registro.Substring(92, 15)) / DECIMAL_100;
                segmentoU.ValorOutrasDespesas = Convert.ToDecimal(registro.Substring(107, 15)) / DECIMAL_100;
                segmentoU.ValorOutrosCreditos = Convert.ToDecimal(registro.Substring(122, 15)) / DECIMAL_100;
                segmentoU.DataOcorrencia = segmentoU.DataOcorrencia = DateTime.ParseExact(registro.Substring(137, 8), "ddMMyyyy", CultureInfo.InvariantCulture);
                segmentoU.DataCredito = registro.Substring(145, 8).Equals("00000000") ? DateTime.Now : DateTime.ParseExact(registro.Substring(145, 8), "ddMMyyyy", CultureInfo.InvariantCulture);
                segmentoU.CodigoOcorrenciaSacado = registro.Substring(153, 4);

                return segmentoU;
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO U.", ex);
            }
        }
Ejemplo n.º 4
0
        public override DetalheSegmentoURetornoCNAB240 LerDetalheSegmentoURetornoCNAB240(string registro)
        {
            string _Controle_numBanco = registro.Substring(0, 3); //01
            string _Controle_lote = registro.Substring(3, 7); //02
            string _Controle_regis = registro.Substring(7, 1); //03
            string _Servico_numRegis = registro.Substring(8, 5); //04
            string _Servico_segmento = registro.Substring(13, 1); //05
            string _cnab06 = registro.Substring(14, 1); //06
            string _Servico_codMov = registro.Substring(15, 2); //07
            string _dadosTituloAcrescimo = registro.Substring(17, 15); //08
            string _dadosTituloValorDesconto = registro.Substring(32, 15); //09
            string _dadosTituloValorAbatimento = registro.Substring(47, 15); //10
            string _dadosTituloValorIof = registro.Substring(62, 15); //11
            string _dadosTituloValorPago = registro.Substring(76, 15); //12
            string _dadosTituloValorCreditoBruto = registro.Substring(92, 15); //13
            string _outDespesas = registro.Substring(107, 15); //14
            string _outPerCredEntRecb = registro.Substring(122, 5); //15
            string _outBanco = registro.Substring(127, 10); //16
            string _outDataOcorrencia = registro.Substring(137, 8); //17
            string _outDataCredito = registro.Substring(145, 8); //18
            string _cnab19 = registro.Substring(153, 87); //19


            try
            {

                if (!registro.Substring(13, 1).Equals(@"U"))
                {
                    throw new Exception("Registro inválida. O detalhe não possuí as características do segmento U.");
                }

                var segmentoU = new DetalheSegmentoURetornoCNAB240(registro);
                segmentoU.Servico_Codigo_Movimento_Retorno = Convert.ToDecimal(registro.Substring(15, 2)); //07.3U|Serviço|Cód. Mov.|Código de Movimento Retorno
                segmentoU.JurosMultaEncargos = Convert.ToDecimal(registro.Substring(17, 15)) / 100;
                segmentoU.ValorDescontoConcedido = Convert.ToDecimal(registro.Substring(32, 15)) / 100;
                segmentoU.ValorAbatimentoConcedido = Convert.ToDecimal(registro.Substring(47, 15)) / 100;
                segmentoU.ValorIOFRecolhido = Convert.ToDecimal(registro.Substring(62, 15)) / 100;
                segmentoU.ValorOcorrenciaSacado = segmentoU.ValorPagoPeloSacado = Convert.ToDecimal(registro.Substring(77, 15)) / 100;
                segmentoU.ValorLiquidoASerCreditado = Convert.ToDecimal(registro.Substring(92, 15)) / 100;
                segmentoU.ValorOutrasDespesas = Convert.ToDecimal(registro.Substring(107, 15)) / 100;
                segmentoU.ValorOutrosCreditos = Convert.ToDecimal(registro.Substring(122, 15)) / 100;
                segmentoU.DataOcorrencia = segmentoU.DataOcorrencia = DateTime.ParseExact(registro.Substring(137, 8), "ddMMyyyy", CultureInfo.InvariantCulture);
                segmentoU.DataCredito = registro.Substring(145, 8).ToString() == "00000000" ? segmentoU.DataOcorrencia : DateTime.ParseExact(registro.Substring(145, 8), "ddMMyyyy", CultureInfo.InvariantCulture);
                segmentoU.CodigoOcorrenciaSacado = registro.Substring(153, 4);

                return segmentoU;
            }
            catch (Exception ex)
            {
                //TrataErros.Tratar(ex);
                throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO U.", ex);
            }
        }
Ejemplo n.º 5
0
        public override DetalheSegmentoURetornoCNAB240 LerDetalheSegmentoURetornoCNAB240(string registro)
        {
            string _Controle_numBanco = registro.Substring(0, 3);              //01
            string _Controle_lote     = registro.Substring(3, 7);              //02
            string _Controle_regis    = registro.Substring(7, 1);              //03

            string _Servico_numRegis = registro.Substring(8, 5);               //04
            string _Servico_segmento = registro.Substring(13, 1);              //05
            string _cnab06           = registro.Substring(14, 1);              //06
            string _Servico_codMov   = registro.Substring(15, 2);              //07

            string _dadosTituloAcrescimo         = registro.Substring(17, 15); //08
            string _dadosTituloValorDesconto     = registro.Substring(32, 15); //09
            string _dadosTituloValorAbatimento   = registro.Substring(47, 15); //10
            string _dadosTituloValorIof          = registro.Substring(62, 15); //11
            string _dadosTituloValorPago         = registro.Substring(76, 15); //12
            string _dadosTituloValorCreditoBruto = registro.Substring(92, 15); //13

            string _outDespesas       = registro.Substring(107, 15);           //14
            string _outPerCredEntRecb = registro.Substring(122, 5);            //15
            string _outBanco          = registro.Substring(127, 10);           //16
            string _outDataOcorrencia = registro.Substring(137, 8);            //17
            string _outDataCredito    = registro.Substring(145, 8);            //18
            string _cnab19            = registro.Substring(153, 87);           //19

            try
            {
                DetalheSegmentoURetornoCNAB240 segmentoU = new DetalheSegmentoURetornoCNAB240(registro);

                if (_Servico_segmento != "U")
                {
                    throw new Exception("Registro inválida. O detalhe não possuí as características do segmento U.");
                }

                int dataOcorrencia = Convert.ToInt32(registro.Substring(137, 8));
                int dataCredito    = Convert.ToInt32(registro.Substring(145, 8));

                int dataOcorrenciaSacado = 0;
                if (registro.Substring(153, 4) != "    ")
                {
                    dataOcorrenciaSacado = Convert.ToInt32(registro.Substring(157, 8));
                }

                double jurosMultaEncargos = Convert.ToInt64(registro.Substring(17, 15));
                segmentoU.JurosMultaEncargos = jurosMultaEncargos / 100;
                double valorDescontoConcedido = Convert.ToInt64(_dadosTituloValorDesconto);
                segmentoU.ValorDescontoConcedido = valorDescontoConcedido / 100;
                double valorAbatimentoConcedido = Convert.ToInt64(registro.Substring(47, 15));
                segmentoU.ValorAbatimentoConcedido = valorAbatimentoConcedido / 100;
                double valorIOFRecolhido = Convert.ToInt64(registro.Substring(62, 15));
                segmentoU.ValorIOFRecolhido = valorIOFRecolhido / 100;
                double valorPagoPeloSacado = Convert.ToInt64(registro.Substring(77, 15));
                segmentoU.ValorPagoPeloSacado = valorPagoPeloSacado / 100;
                double valorLiquidoASerCreditado = Convert.ToInt64(registro.Substring(92, 15));
                segmentoU.ValorLiquidoASerCreditado = valorLiquidoASerCreditado / 100;
                double valorOutrasDespesas = Convert.ToInt64(registro.Substring(107, 15));
                segmentoU.ValorOutrasDespesas = valorOutrasDespesas / 100;
                double valorOutrosCreditos = Convert.ToInt64(registro.Substring(122, 15));
                segmentoU.ValorOutrosCreditos = valorOutrosCreditos / 100;

                segmentoU.DataOcorrencia =
                    Convert.ToDateTime(string.Format("{0}/{1}/{2}", _outDataOcorrencia.Substring(0, 2),
                                                     _outDataOcorrencia.Substring(2, 2),
                                                     _outDataOcorrencia.Substring(4, 4)));

                segmentoU.DataCredito =
                    Convert.ToDateTime(string.Format("{0}/{1}/{2}", _outDataCredito.Substring(0, 2),
                                                     _outDataCredito.Substring(2, 2),
                                                     _outDataCredito.Substring(4, 4)));

                segmentoU.CodigoOcorrenciaSacado = registro.Substring(153, 4);
                if (dataOcorrenciaSacado != 0)
                {
                    segmentoU.DataOcorrenciaSacado = Convert.ToDateTime(dataOcorrenciaSacado.ToString("##-##-####"));
                }
                double valorOcorrenciaSacado = Convert.ToInt64(registro.Substring(165, 15));
                segmentoU.ValorOcorrenciaSacado = valorOcorrenciaSacado / 100;

                return(segmentoU);
            }
            catch (Exception ex)
            {
                //TrataErros.Tratar(ex);
                throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO U.", ex);
            }
        }
Ejemplo n.º 6
0
        public virtual DetalheSegmentoURetornoCNAB240 LerDetalheSegmentoURetornoCNAB240(string registro)
        {
            var detalhe = new DetalheSegmentoURetornoCNAB240(registro);

            detalhe.LerDetalheSegmentoURetornoCNAB240(registro);

            return detalhe;
        }
Ejemplo n.º 7
0
        public override DetalheSegmentoURetornoCNAB240 LerDetalheSegmentoURetornoCNAB240(string registro)
        {
            try
            {
                DetalheSegmentoURetornoCNAB240 detalhe = new DetalheSegmentoURetornoCNAB240(registro);

                if (registro.Substring(13, 1) != "Y")
                    throw new Exception("Registro inválido. O detalhe não possuí as características do segmento U.");

                detalhe.CodigoOcorrenciaSacado = registro.Substring(15, 2);
                int DataCredito = Convert.ToInt32(registro.Substring(145, 8));
                detalhe.DataCredito = Convert.ToDateTime(DataCredito.ToString("##-##-####"));
                int DataOcorrencia = Convert.ToInt32(registro.Substring(137, 8));
                detalhe.DataOcorrencia = Convert.ToDateTime(DataOcorrencia.ToString("##-##-####"));
                int DataOcorrenciaSacado = Convert.ToInt32(registro.Substring(157, 8));
                if (DataOcorrenciaSacado > 0)
                    detalhe.DataOcorrenciaSacado = Convert.ToDateTime(DataOcorrenciaSacado.ToString("##-##-####"));
                else
                    detalhe.DataOcorrenciaSacado = DateTime.Now;

                decimal JurosMultaEncargos = Convert.ToUInt64(registro.Substring(17, 15));
                detalhe.JurosMultaEncargos = JurosMultaEncargos / 100;
                decimal ValorDescontoConcedido = Convert.ToUInt64(registro.Substring(32, 15));
                detalhe.ValorDescontoConcedido = ValorDescontoConcedido / 100;
                decimal ValorAbatimentoConcedido = Convert.ToUInt64(registro.Substring(47, 15));
                detalhe.ValorAbatimentoConcedido = ValorAbatimentoConcedido / 100;
                decimal ValorIOFRecolhido = Convert.ToUInt64(registro.Substring(62, 15));
                detalhe.ValorIOFRecolhido = ValorIOFRecolhido / 100;
                decimal ValorPagoPeloSacado = Convert.ToUInt64(registro.Substring(77, 15));
                detalhe.ValorPagoPeloSacado = ValorPagoPeloSacado / 100;
                decimal ValorLiquidoASerCreditado = Convert.ToUInt64(registro.Substring(92, 15));
                detalhe.ValorLiquidoASerCreditado = ValorLiquidoASerCreditado / 100;
                decimal ValorOutrasDespesas = Convert.ToUInt64(registro.Substring(107, 15));
                detalhe.ValorOutrasDespesas = ValorOutrasDespesas / 100;

                decimal ValorOutrosCreditos = Convert.ToUInt64(registro.Substring(122, 15));
                detalhe.ValorOutrosCreditos = ValorOutrosCreditos / 100;

                return detalhe;
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao processar arquivo de RETORNO - SEGMENTO T.", ex);
            }


        }
Ejemplo n.º 8
0
 public DetalheRetornoCNAB240(DetalheSegmentoTRetornoCNAB240 segmentoT, DetalheSegmentoURetornoCNAB240 segmentoU)
 {
     _segmentoT = segmentoT;
     _segmentoU = segmentoU;
 }