public string GerarCsvRv(ExtratoRV extratos) { StringBuilder dadosExtratoCsv = new StringBuilder(); //Campos que se repetem na consulta titular //dadosExtratoCsv.Append("\"" + extratos.Matricula +"\";"); //dadosExtratoCsv.Append(extratos.Nome + ";"); //dadosExtratoCsv.Append(extratos.Situacao + ";"); //dadosExtratoCsv.Append(extratos.Nascimento.ToString() + ";"); dadosExtratoCsv.Append(extratos.Salario.ToString() + ";"); dadosExtratoCsv.Append(extratos.MesCompetencia.ToString() + ";"); dadosExtratoCsv.Append(extratos.CompetenciaInicial.ToString() + ";"); dadosExtratoCsv.Append(extratos.CompetenciaFinal.ToString() + ";"); dadosExtratoCsv.Append(extratos.CodigoAgencia.ToString() + ";"); dadosExtratoCsv.Append(extratos.ValidadeInicial.ToString() + ";"); dadosExtratoCsv.Append(extratos.ValidadeFinal.ToString() + ";"); dadosExtratoCsv.Append(extratos.Banco.ToString() + ";"); dadosExtratoCsv.Append(extratos.ContaCorrente.ToString() + ";"); dadosExtratoCsv.Append(extratos.ValorLiquidoCredito.ToString() + ";"); dadosExtratoCsv.Append(extratos.Margem.ToString() + ";"); foreach (var rubrica in extratos.Rubricas) { dadosExtratoCsv.Append(rubrica.Codigo.ToString() + ";"); dadosExtratoCsv.Append(rubrica.Nome.ToString() + ";"); dadosExtratoCsv.Append(rubrica.Valor.ToString() + ";"); dadosExtratoCsv.Append(rubrica.Sinal.ToString() + ";"); } dadosExtratoCsv.Append("\n"); return(dadosExtratoCsv.ToString()); }
public ExtratoRV ProcessarResultadoRv(string resultadoBanco) { ExtratoRV extrato = new ExtratoRV(); //Campos que já vieram na consulta titular //extrato.Matricula = resultadoBanco.Substring(resultadoBanco.IndexOf("NB") + 61, 10).Trim(); //extrato.Nome = resultadoBanco.Substring(resultadoBanco.IndexOf("NB") + 73, 35).Trim(); //extrato.Situacao= resultadoBanco.Substring(resultadoBanco.IndexOf("Situacao:") + 10, 7).Trim(); if (!resultadoBanco.Equals("") /*&& !resultadoBanco.Equals("Erro de tentativas.")*/) { if (resultadoBanco.Substring(resultadoBanco.IndexOf("Nascimento:") + 12, 10).Trim().Equals("")) { extrato.Nascimento = Convert.ToDateTime(resultadoBanco.Substring(resultadoBanco.IndexOf("Nascimento:") + 12, 10).Trim()); } else { extrato.Nascimento = null; } try { extrato.Salario = Convert.ToDouble(resultadoBanco.Substring(resultadoBanco.IndexOf("MR:") + 3, 19).Trim().Replace(".", "")); } catch (FormatException) { extrato.Salario = null; } if (!resultadoBanco.Substring(resultadoBanco.IndexOf("Cpt") + 4, 7).Trim().Equals("")) { extrato.MesCompetencia = Convert.ToDateTime("01/" + resultadoBanco.Substring(resultadoBanco.IndexOf("Cpt") + 4, 7).Trim() + " 00:00:00"); } if (!resultadoBanco.Substring(resultadoBanco.IndexOf("Cpt") + 17, 10).Trim().Equals("")) { extrato.CompetenciaInicial = Convert.ToDateTime(resultadoBanco.Substring(resultadoBanco.IndexOf("Cpt") + 16, 10).Trim()); } if (!resultadoBanco.Substring(resultadoBanco.IndexOf("Cpt") + 27, 10).Trim().Equals("")) { extrato.CompetenciaFinal = Convert.ToDateTime(resultadoBanco.Substring(resultadoBanco.IndexOf("Cpt") + 27, 10).Trim()); } extrato.CodigoAgencia = resultadoBanco.Substring(resultadoBanco.IndexOf("Vld") - 10, 10).Trim(); if (!resultadoBanco.Substring(resultadoBanco.IndexOf("Vld") + 4, 10).Trim().Equals("")) { extrato.ValidadeInicial = Convert.ToDateTime(resultadoBanco.Substring(resultadoBanco.IndexOf("Vld") + 4, 10).Trim()); } if (!resultadoBanco.Substring(resultadoBanco.IndexOf("Vld") + 15, 10).Trim().Equals("")) { extrato.ValidadeFinal = Convert.ToDateTime(resultadoBanco.Substring(resultadoBanco.IndexOf("Vld") + 15, 10).Trim()); } if (!resultadoBanco.Substring(resultadoBanco.IndexOf("Banco") + 6, 6).Trim().Equals("")) { extrato.Banco = Convert.ToInt16(resultadoBanco.Substring(resultadoBanco.IndexOf("Banco") + 6, 6).Trim()); } if ((!resultadoBanco.Substring(resultadoBanco.IndexOf("CC:") + 4, 22).Trim().Equals("")) && (!ContemLetras(resultadoBanco.Substring(resultadoBanco.IndexOf("CC:") + 4, 22).Trim()))) { extrato.ContaCorrente = resultadoBanco.Substring(resultadoBanco.IndexOf("CC:") + 4, 22).Trim(); } else { extrato.ContaCorrente = ""; } extrato.ValorLiquidoCredito = Convert.ToDouble(resultadoBanco.Substring(resultadoBanco.IndexOf(" Val. Liq. Credito R$") + 27, 9).Trim().Replace(".", "")); extrato.Rubricas = new List <Rubrica>(); MemoryStream bytesDeLeitura = new MemoryStream(); bytesDeLeitura = ConverterTextoStreamMemoria(resultadoBanco); StreamReader LinhaLeitura = new StreamReader(bytesDeLeitura); int contadorLinhas = 1; while (true) { string textoLinha = LinhaLeitura.ReadLine(); if (textoLinha.StartsWith(" Val. Liq. Credito R$")) { break; } if (contadorLinhas > 12 && !textoLinha.StartsWith(" ") && textoLinha.StartsWith(" ")) { if ((!textoLinha.Substring(1, 3).Trim().Equals("")) && (!ContemLetras(textoLinha.Substring(1, 3).Trim()))) { Rubrica rubrica = new Rubrica(); rubrica.Codigo = Convert.ToInt16(textoLinha.Substring(1, 3)); rubrica.Nome = textoLinha.Substring(5, 22).Trim(); if (!textoLinha.Substring(27, 9).Trim().Equals("") && (!ContemLetras(textoLinha.Substring(27, 9).Trim()))) { rubrica.Valor = Convert.ToDouble(textoLinha.Substring(27, 9).Replace(".", "")); } rubrica.Sinal = textoLinha.Substring(37, 1).Trim(); extrato.Rubricas.Add(rubrica); } } contadorLinhas++; } return(extrato); } else { return(null); } }