public static List <TipoAdquisicion> getTipoAdquisicionPorObjeto(int objetoId, int objetoTipo)
        {
            List <TipoAdquisicion> ret = new List <TipoAdquisicion>();
            int cooperanteCodigo       = 0;

            switch (objetoTipo)
            {
            case 1:
                Componente componente = ComponenteDAO.getComponente(objetoId);
                Proyecto   proyecto   = ProyectoDAO.getProyecto(componente.proyectoid);
                Prestamo   prestamo   = PrestamoDAO.getPrestamoById(proyecto.prestamoid ?? default(int));
                cooperanteCodigo = prestamo.cooperantecodigo ?? default(int);
                break;

            case 2:
                Subcomponente subcomponente = SubComponenteDAO.getSubComponente(objetoId);
                proyecto         = ProyectoDAO.getProyectobyTreePath(subcomponente.treepath);
                prestamo         = PrestamoDAO.getPrestamoById(proyecto.prestamoid ?? default(int));
                cooperanteCodigo = subcomponente.componentes.proyectos.prestamos.cooperantes.codigo;
                break;

            case 3:
                Producto producto = ProductoDAO.getProductoPorId(objetoId);
                if (producto.componentes != null)
                {
                    cooperanteCodigo = producto.componentes.proyectos.prestamos.cooperantes.codigo;
                }
                else if (producto.subcomponentes != null)
                {
                    cooperanteCodigo = producto.subcomponentes.componentes.proyectos.prestamos.cooperantes.codigo;
                }
                break;

            case 4:
                Subproducto subproducto = SubproductoDAO.getSubproductoPorId(objetoId);
                if (subproducto.productos.componentes != null)
                {
                    cooperanteCodigo = subproducto.productos.componentes.proyectos.prestamos.cooperantes.codigo;
                }
                else if (subproducto.productos.subcomponentes != null)
                {
                    cooperanteCodigo = subproducto.productos.subcomponentes.componentes.proyectos.prestamos.cooperantes.codigo;
                }
                break;

            case 5:
                Actividad actividad = ActividadDAO.GetActividadPorId(objetoId);
                if (actividad.treepath != null)
                {
                    int proyectoId = Convert.ToInt32(actividad.treepath.Substring(0, 8)) - 10000000;
                    if (proyectoId != 0)
                    {
                        cooperanteCodigo = ProyectoDAO.getProyecto(proyectoId).prestamos.cooperantes.codigo;
                    }
                }
                break;
            }

            try
            {
                using (DbConnection db = new OracleContext().getConnection())
                {
                    String str_query = "SELECT * FROM TIPO_ADQUISICION ta WHERE ta.cooperantecodigo=:codigo AND ta.estado=1";
                    ret = db.Query <TipoAdquisicion>(str_query, new { codigo = cooperanteCodigo }).AsList <TipoAdquisicion>();
                }
            }
            catch (Exception e)
            {
                CLogger.write("4", "TipoAdquisicionDAO.class", e);
            }

            return(ret);
        }