/** * lists Sports Activity Session for ClinicalContact */ public SportsActivitySessionVo getSportsActivityByClinicalContact(ClinicalContactRefVo voClinicalContactRef) { if(voClinicalContactRef == null) throw new CodingRuntimeException("Sports Activity Filter not provided for get call. "); String hql = new String("from SportsActivitySession s where s.clinicalContact.id = :CLINICAL_CONTACT_ID order by s.authoringDateTime desc "); java.util.List list = getDomainFactory().find(hql, "CLINICAL_CONTACT_ID", voClinicalContactRef.getID_ClinicalContact()); if (list.size() == 0) return null; SportsActivitySessionVoCollection vo = SportsActivitySessionVoAssembler.createSportsActivitySessionVoCollectionFromSportsActivitySession(list); if(vo!=null && vo.size()>0) return vo.get(0); return null; }
/** * save Sports Activity Session for ClinicalContact */ public void saveSportsActivity(SportsActivitySessionVo voSportsActivitySession) throws StaleObjectException, UniqueKeyViolationException { if(!voSportsActivitySession.isValidated()) throw new DomainRuntimeException("This Sports Activity has not been validated"); if(voSportsActivitySession.getID_SportsActivitySession() == null) { if(voSportsActivitySession.getClinicalContactIsNotNull()) { SportsActivitySessionVo voSportsActivitySessiontemp = getSportsActivityByClinicalContact(voSportsActivitySession.getClinicalContact()); if( voSportsActivitySessiontemp != null) throw new UniqueKeyViolationException("The screen will be refreshed. "); } } DomainFactory factory = getDomainFactory(); SportsActivitySession doSportsActivitySess = SportsActivitySessionVoAssembler.extractSportsActivitySession(factory, voSportsActivitySession); factory.save(doSportsActivitySess); }