public Retorno_Aviso_pagto_ms_ab ConsultaAbono(out string mensagem, string AVISO_COD_EMPRS, string AVISO_NUM_RGTRO_EMPRG, string AVISO_NUM_IDNTF_RPTANT, string AVISO_NUM_IDNTF_DPDTE, string AVISO_ANO_REFERENCIA, string Aviso_asabono, string Aviso_asquadro) { Retorno_Aviso_pagto_ms_ab ret = new Retorno_Aviso_pagto_ms_ab(); ret.pagamentos = new List <pagamentos>(); ret.pagamentosbloco2 = new List <pagamentosBloco2>(); ret.pagamentosbloco3 = new List <pagamentosBloco3>(); mensagem = ""; //Conexao objConexao = new Conexao(); ConexaoOracle objConexao = new ConexaoOracle(); try { objConexao.AdicionarParametro("ancodemprs", AVISO_COD_EMPRS); objConexao.AdicionarParametro("annumrgtroemprg", AVISO_NUM_RGTRO_EMPRG); objConexao.AdicionarParametro("annumidntfrptant", AVISO_NUM_IDNTF_RPTANT); objConexao.AdicionarParametro("annumidntfdpdte", AVISO_NUM_IDNTF_DPDTE); objConexao.AdicionarParametro("ananomesrefer", AVISO_ANO_REFERENCIA); objConexao.AdicionarParametro("asabono", Aviso_asabono); objConexao.AdicionarParametro("asquadro", Aviso_asquadro); objConexao.AdicionarParametroCursor("srcreturn"); objConexao.AdicionarParametroOut("anqtdeaviso", OracleType.Float); objConexao.AdicionarParametroOut("astipoaviso", OracleType.VarChar); objConexao.ExecutarDML("opportunity.pre_sp_dados_aviso_pagto_ms_ab"); ret.anqtdeaviso = int.Parse(objConexao.ParametrosOut()["anqtdeaviso"].Value.ToString()); ret.astipoaviso = objConexao.ParametrosOut()["astipoaviso"].Value.ToString(); using (OracleDataReader leitor = (OracleDataReader)objConexao.ParametrosOut()["srcreturn"].Value) { while (leitor.Read()) { switch (Aviso_asquadro) { case "1": pagamentos qp = new pagamentos(); MapearAviso(leitor, ref qp); ret.pagamentos.Add(qp); break; case "2": pagamentosBloco2 qp2 = new pagamentosBloco2(); MapearAviso2(leitor, ref qp2); ret.pagamentosbloco2.Add(qp2); break; case "3": pagamentosBloco3 qp3 = new pagamentosBloco3(); MapearAviso3(leitor, ref qp3); ret.pagamentosbloco3.Add(qp3); break; } } } } catch (Exception ex) { mensagem = "Problemas contate o administrador do sistema: //n" + ex.Message; } finally { objConexao.Dispose(); } return(ret); }