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); } }
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); } }
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); } }
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); } }