package org.akaza.openclinica.dao.hibernate;
import java.util.List;
import org.akaza.openclinica.domain.datamap.EventDefinitionCrf;
import org.hibernate.Query;
public class EventDefinitionCrfDao extends AbstractDomainDao<EventDefinitionCrf> {
@Override
Class<EventDefinitionCrf> domainClass() {
// TODO Auto-generated method stub
return EventDefinitionCrf.class;
}
@SuppressWarnings("unchecked")
public List<EventDefinitionCrf> findByStudyEventDefinitionId(int studyEventDefinitionId) {
String query = "from " + getDomainClassName()
+ " event_definition_crf where event_definition_crf.studyEventDefinition.studyEventDefinitionId = :studyeventdefinitionid";
org.hibernate.Query q = getCurrentSession().createQuery(query);
q.setInteger("studyeventdefinitionid", studyEventDefinitionId);
return (List<EventDefinitionCrf>) q.list();
}
@SuppressWarnings("unchecked")
public List<EventDefinitionCrf> findAvailableByStudyEventDefStudy(Integer studyEventDefinitionId, Integer studyId) {
String query = "from " + getDomainClassName() + " do where do.studyEventDefinition.studyEventDefinitionId = :studyeventdefid "
+ " and do.study.studyId = :studyid and do.statusId = 1";
org.hibernate.Query q = getCurrentSession().createQuery(query);
q.setInteger("studyeventdefid", studyEventDefinitionId);
q.setInteger("studyid", studyId);
return (List<EventDefinitionCrf>) q.list();
}
@SuppressWarnings("unchecked")
public List<EventDefinitionCrf> findSiteHiddenByStudyEventDefStudy(Integer studyEventDefinitionId, Integer studyId) {
String query = "from " + getDomainClassName() + " do where do.studyEventDefinition.studyEventDefinitionId = :studyeventdefid "
+ " and do.study.studyId = :studyid and do.statusId = 1 and do.hideCrf = true";
org.hibernate.Query q = getCurrentSession().createQuery(query);
q.setInteger("studyeventdefid", studyEventDefinitionId);
q.setInteger("studyid", studyId);
return (List<EventDefinitionCrf>) q.list();
}
@SuppressWarnings("unchecked")
public EventDefinitionCrf findByStudyEventDefinitionIdAndCRFIdAndStudyId(Integer studyEventDefinitionId, Integer crfId, Integer studyId) {
String query = "from " + getDomainClassName() + " do where do.studyEventDefinition.studyEventDefinitionId = :studyeventdefid "
+ " and do.study.studyId = :studyid and do.crf.crfId = :crfid";
Query q = getCurrentSession().createQuery(query);
q.setInteger("studyeventdefid", studyEventDefinitionId);
q.setInteger("studyid", studyId);
q.setInteger("crfid", crfId);
return (EventDefinitionCrf) q.uniqueResult();
}
}