public IEnumerable <ResultDTO> crearModificarInvestigador(InvestigadorDTO investigador) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.PRC_MERGE_INVESTIGADOR"; parametro.AdicionarParametro(":p_id_investigador", investigador.ID_INVESTIGADOR, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_id_grado", investigador.ID_GRADO, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_documento", investigador.DOCUMENTO, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_nombres", investigador.NOMBRES, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_apellidos", investigador.APELLIDOS, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_email", investigador.EMAIL, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_telefono", investigador.TELEFONO, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_direccion", investigador.DIRECCION, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_estudios", investigador.ESTUDIOS, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_categorizado", investigador.CATEGORIZADO, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_categorizado_valor", investigador.CATEGORIZADO_VALOR, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_profesor", investigador.PROFESOR, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_estudiante", investigador.ESTUDIANTE, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <ResultDTO> crearModificarUsuario(UsuarioDTO user) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.PRC_MERGE_USUARIOS"; parametro.AdicionarParametro(":p_id_usuario", user.ID_USUARIO, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_id_tipo_documento", user.ID_TIPO_DOCUMENTO, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_documento", user.DOCUMENTO, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_nombres", user.NOMBRES, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_apellidos", user.APELLIDOS, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_id_grado", user.ID_GRADO, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_id_unidad", user.ID_UNIDAD, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_email", user.EMAIL, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_contrasena", user.CONTRASENA, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_telefono", user.TELEFONO, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_usuario", user.USUARIO, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_perfil", user.PERFIL, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_resultado", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <Object> MergeProductoInv(Producto producto, string id) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_merge_producto_inv"; parametro.AdicionarParametro(":p_id_investigacion", id, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_tipo_producto", producto.TipoProducto, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_autor", producto.Autor, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_nombre_revista", producto.NombreRevista, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_nombre_articulo", producto.NombreArticulo, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_ano", producto.Anio, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_codigo_issn", producto.CodigoISSN, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_codigo_isbn", "", DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_nombre_libro", producto.NombreLibro, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_pagina_inicio", producto.PaginaInicio, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_pagina_final", producto.PaginaFinal, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_editorial", producto.Editorial, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_fecha_publicacion", producto.FechaPublicacion, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <UsuarioDTO> ConsultaUsuarios() { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_get_usuarios"; parametro.AdicionarParametro(":P_RESULTADO", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <UsuarioDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <InvestigadorDTO> ConsultaInvestigadores() { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.PRC_GET_INVESTIGADOR"; parametro.AdicionarParametro(":P_RESULTADO", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <InvestigadorDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <InvestigacionInstitucionalDTO> ConsultarInvestigacionIns() { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_datos_inv"; parametro.AdicionarParametro(":p_resultado", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <InvestigacionInstitucionalDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <ResultDTO> eliminarInvestigador(int id) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.PRC_DELETE_INVESTIGADOR"; parametro.AdicionarParametro(":p_id_investigador", id, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_resultado", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <Object> EliminaInvestigacion(string investigacion) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_elimina_inv"; parametro.AdicionarParametro(":p_id_investigacion", investigacion, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_resultado", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public int Login(LoginRequest user) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_LOGIN.prc_acceso"; parametro.AdicionarParametro(":p_documento", user.Username, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_contrasena", user.Password, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_respuesta", null, DireccionParametro.Output, TipoParametro.Int32); var respuesta = EjecutarProcedure <Int32>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta.FirstOrDefault()); }
public IEnumerable <RedInvestigacionBaseDTO> GetRedes() { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS_ADIC.PRC_GET_RED_INV"; parametro.AdicionarParametro(":p_resultado", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <RedInvestigacionBaseDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <Object> MergeInvestigadoresInv(Investigarores investigador, string id) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_merge_investigadores_inv"; parametro.AdicionarParametro(":p_id_investigacion", id, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_id_investigador", investigador.IdInvestigador, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public List <CasoEmblematicoDTO> ConsultarCasosEmblem() { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS_ADIC.prc_get_caso_emblematico"; parametro.AdicionarParametro(":p_id_caso", null, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_resultado", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <CasoEmblematicoDTO>(parametro).ToList(); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <Object> MergeAreaLineaInv(AreaLinea area, string id) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_merge_area_linea_inv"; parametro.AdicionarParametro(":p_id_investigacion", id, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_id_area", area.IdArea, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_id_linea", area.IdLinea, DireccionParametro.Input, TipoParametro.Decimal); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <ResultDTO> MergeCasoEmbInv(decimal idCaso, int idInvestigador) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS_ADIC.prc_merge_caso_emb_inv"; parametro.AdicionarParametro(":p_id_caso", idCaso, DireccionParametro.Input, TipoParametro.Decimal); parametro.AdicionarParametro(":p_id_investigador", idInvestigador, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <AreaDTO> ConsultaAreas() { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_get_area"; parametro.AdicionarParametro(":P_RESULTADO", null, DireccionParametro.Output, TipoParametro.RefCursor); //parametro.AdicionarParametro(ConstantesModelo.V_error, null, DireccionParametro.Output, TipoParametro.Int32); //parametro.AdicionarParametro(ConstantesModelo.V_desc_error, null, DireccionParametro.Output, TipoParametro.Varchar2, 255); var respuesta = EjecutarProcedure <AreaDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <Object> MergePresupuestoInv(Presupuesto presupuesto, string id) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_merge_presup_investigacion"; parametro.AdicionarParametro(":p_id_investigacion", id, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_nombre_presupuesto", presupuesto.NombrePresupuesto, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_desc_presupuesto", presupuesto.DescPresupuesto, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_aporte", presupuesto.Aporte, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <ResultDTO> MergeCasoEmblematico(CasoEmblematicoBaseDTO caso) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS_ADIC.prc_merge_caso_emblematico"; parametro.AdicionarParametro(":p_id_caso", caso.ID_CASO, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_nombre_caso", caso.NOMBRE_CASO, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_lugar_afectacion", caso.LUGAR_AFECTACION, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_actividades", caso.ACTIVIDADES, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <Object> MergeEventosInv(Eventos evento, string id) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_merge_eventos_inv"; parametro.AdicionarParametro(":p_id_investigacion", id, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_tipo", evento.Tipo, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_participacion", evento.Participacion, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_fecha", evento.Fecha, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_tipo_region", evento.TipoRegion, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_desc_region", evento.DescRegion, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_desc_subregion", evento.DescSubRegion, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public IEnumerable <ResultDTO> MergeRedInvestigacion(RedInvestigacionBaseDTO red) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS_ADIC.prc_merge_red_investigacion"; parametro.AdicionarParametro(":p_id_red", red.ID_RED, DireccionParametro.Input, TipoParametro.Int32); parametro.AdicionarParametro(":p_nombre_red", red.NOMBRE_RED, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_entidad", red.ENTIDAD, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_ano_creacion", red.ANO_CREACION, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_sede_depto", red.SEDE_DEPTO, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_sede_ciudad", red.SEDE_CIUDAD, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public string MergeUnidad(UnidadDTO unidad) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.PRC_MERGE_UNIDAD"; parametro.AdicionarParametro(":p_id_unidad", unidad.ID_UNIDAD, DireccionParametro.Input, TipoParametro.Decimal); parametro.AdicionarParametro(":p_sigla", unidad.SIGLA, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_descripcion", unidad.DESCRIPCION, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_id_tipo", unidad.ID_TIPO, DireccionParametro.Input, TipoParametro.Decimal); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); EjecutarProcedure <RespuestaDTO>(parametro); string respuesta = parametro.ArregloParametros.Find(x => x.Nombre.Equals(":p_mensaje")).Valor.ToString(); if (!respuesta.Equals("OK")) { throw new Exception(); } return(respuesta); }
public IEnumerable <Object> MergeEstimulosInv(Estimulos estimulo, string id) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_merge_estimulos_inv"; parametro.AdicionarParametro(":p_id_investigacion", id, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_condecoraciones", estimulo.Condecoraciones, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_felicitaciones", estimulo.Felicitaciones, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_personaje_mes", estimulo.PersonajeMes, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_permiso", estimulo.Permiso, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_estatuillas", estimulo.Estatuillas, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_monedas", estimulo.Monedas, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_capacitaciones", estimulo.Capacitaciones, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(respuesta); }
public Tuple <string, string> MergeInvestigacion(InvInstitucional investigacion) { ProcedimientoParametroDTO parametro = new ProcedimientoParametroDTO(); parametro.NombreProcedimiento = "PKG_CRUDS.prc_merge_investigacion"; parametro.AdicionarParametro(":p_id_investigacion", investigacion.IdInvestigacion, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_titulo", investigacion.Titulo, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_direccion", investigacion.Direccion, DireccionParametro.Input, TipoParametro.Decimal); parametro.AdicionarParametro(":p_ano", investigacion.Anio, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_participacion", investigacion.Participacion, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_exp_participa", investigacion.ExParticipa, DireccionParametro.Input, TipoParametro.Varchar2); parametro.AdicionarParametro(":p_escuela", investigacion.Escuela, DireccionParametro.Input, TipoParametro.Decimal); parametro.AdicionarParametro(":p_formulario", investigacion.Formulario, DireccionParametro.Input, TipoParametro.Clob); parametro.AdicionarParametro(":p_mensaje", null, DireccionParametro.Output, TipoParametro.RefCursor); var respuesta = EjecutarProcedure <ResultInvInstitucionalDTO>(parametro); if (respuesta == null) { throw new Exception(); } return(new Tuple <string, string>(respuesta.Single().codigo, respuesta.Single().mensaje)); }
protected IEnumerable <T> EjecutarProcedure <T>(ProcedimientoParametroDTO param) { #region Validation Params if (param == null) { throw new ArgumentNullException("param"); } #endregion var esquema = (ConfigurationManager.AppSettings["Esquema"] ?? "sicei"); StringBuilder query = new StringBuilder(); query.AppendFormat("BEGIN {0}.{1}({2}); END;", esquema, param.NombreProcedimiento, string.Join(",", param.ArregloParametros.Select(w => w.Nombre))); OracleParameter[] arrayParametros = new OracleParameter[param.ArregloParametros.Count]; for (int index = 0; index < param.ArregloParametros.Count; index++) { var item = param.ArregloParametros[index]; OracleParameter parametroProcedimiento = new OracleParameter(); try { parametroProcedimiento.ParameterName = item.Nombre; parametroProcedimiento.Direction = (ParameterDirection)Enum.Parse(typeof(ParameterDirection), item.Direccion); parametroProcedimiento.OracleDbType = (OracleDbType)Enum.Parse(typeof(OracleDbType), item.Tipo); parametroProcedimiento.Value = item.Valor; parametroProcedimiento.Size = item.Longitud; arrayParametros[index] = parametroProcedimiento; } catch (Exception) { parametroProcedimiento.Dispose(); throw; } } // Crea cursores IEnumerable <T> c1 = new List <T>(); // Conexión por ADO using (OracleConnection conn = new OracleConnection(Con)) { conn.Open(); OracleCommand cmd = new OracleCommand { Connection = conn, CommandType = CommandType.Text, CommandText = query.ToString() }; cmd.Parameters.AddRange(arrayParametros); using (OracleDataReader dr = cmd.ExecuteReader()) { c1 = DataReaderMapToList <T>(dr); // Mapea el resultado de la query al Dto pasado como T //dr.NextResult(); //Lee el siguiente cursor //c2 = DataReaderMapToList<U>(dr); // Mapea el resultado de la query al Dto pasado como U } } foreach (OracleParameter op in arrayParametros) { for (int index = 0; index < param.ArregloParametros.Count; index++) { var item = param.ArregloParametros[index]; if (op.ParameterName == item.Nombre) { item.Valor = (object)op.Value; } param.ArregloParametros[index] = item; } } return(c1); }