public override void LerArquivoRetorno(IBanco banco, Stream arquivo)
        {
            try
            {
                StreamReader stream = new StreamReader(arquivo, System.Text.Encoding.UTF8);
                string       linha  = "";

                // Lendo o arquivo
                linha = stream.ReadLine();

                // Próxima linha (DETALHE)
                linha = stream.ReadLine();

                while (DetalheRetorno.PrimeiroCaracter(linha) == "1")
                {
                    DetalheRetorno detalhe = banco.LerDetalheRetornoCNAB400(linha);
                    ListaDetalhe.Add(detalhe);
                    OnLinhaLida(detalhe, linha);
                    linha = stream.ReadLine();
                }

                stream.Close();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler arquivo.", ex);
            }
        }
        public override void LerArquivoRetorno(IBanco banco, Stream arquivo)
        {
            try
            {
                StreamReader stream = new StreamReader(arquivo, System.Text.Encoding.UTF8);
                // Identificação do registro detalhe
                List <string> IdsRegistroDetalhe = new List <string>();

                // Lendo o arquivo
                string linha = stream.ReadLine();
                this.HeaderRetorno = banco.LerHeaderRetornoCNAB400(linha);

                // Próxima linha (DETALHE)
                linha = stream.ReadLine();

                //tem arquivo de retorno que possui somente cabeçalho
                if (linha != null)
                {
                    switch (banco.Codigo)
                    {
                    // 85 - CECRED - Código de registro detalhe 7 para CECRED
                    case (int)Bancos.CECRED:
                        IdsRegistroDetalhe.Add("7");
                        break;

                    // 1 - Banco do Brasil- Código de registro detalhe 7 para convênios com 7 posições, e detalhe 1 para convênios com 6 posições(colocado as duas, pois não interferem em cada tipo de arquivo)
                    case (int)Bancos.BancoBrasil:
                        IdsRegistroDetalhe.Add("1");    //Para convênios de 6 posições
                        IdsRegistroDetalhe.Add("7");    //Para convênios de 7 posições
                        break;

                    default:
                        IdsRegistroDetalhe.Add("1");
                        break;
                    }

                    while (linha != null)
                    {
                        if (IdsRegistroDetalhe.Contains(DetalheRetorno.PrimeiroCaracter(linha)))
                        {
                            DetalheRetorno detalhe = banco.LerDetalheRetornoCNAB400(linha);
                            ListaDetalhe.Add(detalhe);
                            OnLinhaLida(detalhe, linha);
                        }

                        linha = stream.ReadLine();
                    }
                }

                //TODO: Tratar Triller.

                stream.Close();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler arquivo.", ex);
            }
        }
        public override void LerArquivoRetorno(IBanco banco, Stream arquivo, bool closeStream = true)
        {
            try
            {
                StreamReader stream = new StreamReader(arquivo, System.Text.Encoding.UTF8);
                string       linha  = "";


                // Lendo o arquivo
                //linha = stream.ReadLine();

                //// Próxima linha (DETALHE)
                //linha = stream.ReadLine();

                //while (DetalheRetorno.PrimeiroCaracter(linha) == "1")
                //{
                //    DetalheRetorno detalhe = banco.LerDetalheRetornoCNAB400(linha);
                //    ListaDetalhe.Add(detalhe);
                //    OnLinhaLida(detalhe, linha);
                //    linha = stream.ReadLine();
                //}

                while ((linha = stream.ReadLine()) != null)
                {
                    if (!String.IsNullOrEmpty(linha))
                    {
                        //DetalheRetorno detalheRetorno = new DetalheRetorno();

                        switch (DetalheRetorno.PrimeiroCaracter(linha))
                        {
                        case "0":     //Header de arquivo
                            OnLinhaLida(null, linha);
                            HeaderArquivo400 = banco.LerHeaderArquivoRetornoCNAB400(linha);
                            break;

                        case "1":     //Detalhe
                            DetalheRetorno detalhe = banco.LerDetalheRetornoCNAB400(linha);
                            ListaDetalhe.Add(detalhe);
                            OnLinhaLida(detalhe, linha);
                            break;
                            //case "9": //Trailler de arquivo
                            //    OnLinhaLida(null, linha, EnumTipodeLinhaLida.TraillerDeArquivo);
                            //    break;
                        }
                    }
                }

                if (closeStream)
                {
                    stream.Close();
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler arquivo.", ex);
            }
        }
Exemple #4
0
        public override void LerArquivoRetorno(IBanco banco, Stream arquivo)
        {
            try
            {
                StreamReader Linha   = new StreamReader(arquivo);
                string       strline = "";
                int          _codigoBanco;

                // Lendo o arquivo
                strline = Linha.ReadLine();

                _codigoBanco = 341; // Convert.ToInt16(strline.Substring(76, 3));

                switch (_codigoBanco)
                {
                case 341:
                    // Próxima linha (DETALHE)
                    strline = Linha.ReadLine();

                    DetalheRetorno detalhex = new DetalheRetorno();     // gamb

                    while (DetalheRetorno.PrimeiroCaracter(strline) == "1")
                    {
                        DetalheRetorno detalhe = new  DetalheRetorno();
                        detalhe.LerDetalheRetornoCNAB400(strline);
                        this.ListaDetalhe.Add(detalhe);
                        //detalhe.ListaDetalhe.Add(detalhe);
                        strline = Linha.ReadLine();
                    }
                    break;

                default:
                    // Próxima linha (DETALHE)
                    strline = Linha.ReadLine();

                    while (DetalheRetorno.PrimeiroCaracter(strline) == "1")
                    {
                        DetalheRetorno detalhe = new DetalheRetorno();
                        detalhe.LerDetalheRetornoCNAB400(strline);
                        detalhe.ListaDetalhe.Add(detalhe);
                        strline = Linha.ReadLine();
                    }
                    break;
                }

                Linha.Close();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler arquivo.", ex);
            }
        }
Exemple #5
0
        public override void LerArquivoRetorno(IBanco banco, Stream arquivo)
        {
            try
            {
                StreamReader stream = new StreamReader(arquivo, System.Text.Encoding.UTF8);
                string       linha  = "";
                // Identificação do registro detalhe
                List <string> IdsRegistroDetalhe = new List <string>();

                // Lendo o arquivo
                linha = stream.ReadLine();
                this.HeaderRetorno = banco.LerHeaderRetornoCNAB400(linha);

                // Próxima linha (DETALHE)
                linha = stream.ReadLine();

                // 85 - CECRED - Código de registro detalhe 7 para CECRED
                // 1 - Banco do Brasil- Código de registro detalhe 7 para convênios com 7 posições, e detalhe 1 para convênios com 6 posições(colocado as duas, pois não interferem em cada tipo de arquivo)
                if (banco.Codigo == 85)
                {
                    IdsRegistroDetalhe.Add("7");
                }
                else if (banco.Codigo == 1)
                {
                    IdsRegistroDetalhe.Add("1"); //Para convênios de 6 posições
                    IdsRegistroDetalhe.Add("7"); //Para convênios de 7 posições
                }
                else
                {
                    IdsRegistroDetalhe.Add("1");
                }

                while (IdsRegistroDetalhe.Contains(DetalheRetorno.PrimeiroCaracter(linha)))
                {
                    DetalheRetorno detalhe = banco.LerDetalheRetornoCNAB400(linha);
                    ListaDetalhe.Add(detalhe);
                    OnLinhaLida(detalhe, linha);
                    linha = stream.ReadLine();
                }

                stream.Close();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler arquivo.", ex);
            }
        }
Exemple #6
0
        public override void LerArquivoRetorno(IBanco banco, Stream arquivo)
        {
            try
            {
                StreamReader stream = new StreamReader(arquivo, System.Text.Encoding.UTF8);
                string       linha  = "";
                // Identificação do registro detalhe
                string IdRegistroDetalhe = string.Empty;

                // Lendo o arquivo
                linha = stream.ReadLine();

                // Próxima linha (DETALHE)
                linha = stream.ReadLine();

                // 85 - CECRED - Código de registro detalhe 7 para CECRED
                // 1 - Banco do Brasil- Código de registro detalhe 7
                if (banco.Codigo == 85 || banco.Codigo == 1)
                {
                    IdRegistroDetalhe = "7";
                }
                else
                {
                    IdRegistroDetalhe = "1";
                }

                while (DetalheRetorno.PrimeiroCaracter(linha) == IdRegistroDetalhe)
                {
                    DetalheRetorno detalhe = banco.LerDetalheRetornoCNAB400(linha);
                    ListaDetalhe.Add(detalhe);
                    OnLinhaLida(detalhe, linha);
                    linha = stream.ReadLine();
                }

                stream.Close();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao ler arquivo.", ex);
            }
        }