package com.fp.armas.portal.dao.registro;

import java.util.Collection;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import com.fp.armas.portal.dao.general.GenericDaoImpl;
import com.fp.armas.portal.model.Tgeneactivity;
import com.fp.armas.portal.util.RegistroException;

/**
 * Objeto de acceso a datos de la tabla {@link Tgeneactivity}
 * @author dcruz
 *
 */
public class ActividadEconomicaDao extends GenericDaoImpl<Tgeneactivity> {

	public ActividadEconomicaDao() {
		super(Tgeneactivity.class);
	}

	/**
	 * Retorna todas las actividades economicas existentes
	 * @return
	 * @throws RegistroException
	 */
	public Collection<Tgeneactivity> buscarActividadEconomicas() throws RegistroException{
		CriteriaBuilder cb = this.getEntityManager().getCriteriaBuilder();
		CriteriaQuery<Tgeneactivity> query = cb.createQuery(Tgeneactivity.class);
		Root<Tgeneactivity> tactivityRoot = query.from(Tgeneactivity.class);
		query.orderBy(cb.asc(tactivityRoot.get("activitycode")));
		query.select(tactivityRoot);
		return this.getEntityManager().createQuery(query).getResultList();
	}
}
