package dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.springframework.stereotype.Repository;

import bean.AppVariables;
import common.dao.GenericDAO;
import common.dao.IDAO;
import sicura.entities.CondizioniCtrlRid;

@Repository
public class CondizioniCtrlDAO extends GenericDAO<CondizioniCtrlRid, Integer>
		implements IDAO<CondizioniCtrlRid, Integer> {

	public List<CondizioniCtrlRid> getCondizioni(AppVariables appVariables, int SecurityOrganizationUnitId, String tipologia,
			boolean useTransactions) {
		boolean tx = false;

		if (useTransactions)
			tx = startTransaction();
		try {
			
			
			SQLQuery q = currentSession().createSQLQuery("EXEC spMI_Convalida_FillCondizioni :SecurityID, :SecurityGuid, :SecurityOrganizationUnitId,  :Tipologia");
			q
				.setParameter("SecurityID", null)
				.setParameter("SecurityGuid", null)
				.setParameter("SecurityOrganizationUnitId", null)
				.setParameter("Tipologia", tipologia)
			 	.addEntity(CondizioniCtrlRid.class);	
			
			
/*
			String sql = String.format("select * from Condizioni_Ctrl_%s order by campo_chiave,contatore", tipologia);
			SQLQuery q = currentSession().createSQLQuery(sql);
			q.addEntity(CondizioniCtrlRid.class);
*/
			List<CondizioniCtrlRid> res = q.list();

			return res;
		} finally {
			if (useTransactions)
				if (tx)
					commit();
		}
	}
}
