/// <summary> /// /// </summary> /// <param name="parametros"></param> /// <param name="reader"></param> /// <param name="linha"></param> private static void ProcessaRetorno(ConfigConsulta parametros, StringReader reader, out string linha) { linha = reader.ReadLine().Trim(); while (linha.StartsWith("-")) { parametros.Retorno = linha.Substring(1); linha = reader.ReadLine().Trim(); } }
/// <summary> /// /// </summary> /// <param name="parametros"></param> /// <param name="reader"></param> /// <param name="linha"></param> private static void ProcessaParametros(ConfigConsulta parametros, StringReader reader, out string linha) { linha = reader.ReadLine().Trim(); while (linha.StartsWith("-")) { var nomeParametro = linha.Substring(1, linha.IndexOf(":") - 1); var tipoParametro = linha.Substring(linha.IndexOf(":") + 1); parametros.ParametrosConsulta.Add(new KeyValuePair <string, string>(tipoParametro, nomeParametro)); linha = reader.ReadLine().Trim(); } }
private static ConfigConsulta ExtrairConfigConsulta(string sql) { var reader = new StringReader(sql); // Lê a primeira linha e verifica se utiliza parametrização var linha = reader.ReadLine(); if (linha != "/*Config") { return(null); } var parametros = new ConfigConsulta(); linha = reader.ReadLine(); while (linha != null && linha != "*/") { if (linha.Trim() == "RetornaLista") { parametros.RetornaLista = true; linha = reader.ReadLine(); } else if (linha.Trim() == "Retorno") { ProcessaRetorno(parametros, reader, out linha); } else if (linha.Trim() == "Parametros") { ProcessaParametros(parametros, reader, out linha); } } reader.Close(); reader.Dispose(); return(parametros); }