/// <summary> /// If the visit does not have a Phq9, then it returns a newly created Phq9, /// else, it returns an existing one from the visit. /// </summary> /// <param name="visit">The visit.</param> /// <returns>A Phq9.</returns> public Phq9 CreatePhq9(Visit visit) { Check.IsNotNull(visit, "visit is required."); Phq9 phq9; var existingNidaDrugQuestionnaire = _phq9Repository.GetPhq9ByVisitKey(visit.Key); if (existingNidaDrugQuestionnaire != null) { phq9 = existingNidaDrugQuestionnaire; } else { var activityType = _lookupValueRepository.GetLookupByWellKnownName <ActivityType> (WellKnownNames.VisitModule.ActivityType.Phq9); phq9 = new Phq9(visit, activityType); _phq9Repository.MakePersistent(phq9); DomainEvent.Raise(new Phq9CreatedEvent { Phq9 = phq9 }); } return(phq9); }
/// <summary> /// Destroys the PHQ9. /// </summary> /// <param name="phq9">The PHQ9.</param> public void DestroyPhq9(Phq9 phq9) { _phq9Repository.MakeTransient(phq9); }
/// <summary> /// If the visit does not have a Phq9, then it returns a newly created Phq9, /// else, it returns an existing one from the visit. /// </summary> /// <param name="visit">The visit.</param> /// <returns>A Phq9.</returns> public Phq9 CreatePhq9( Visit visit ) { Check.IsNotNull(visit, "visit is required."); Phq9 phq9; var existingNidaDrugQuestionnaire = _phq9Repository.GetPhq9ByVisitKey ( visit.Key ); if (existingNidaDrugQuestionnaire != null) { phq9 = existingNidaDrugQuestionnaire; } else { var activityType = _lookupValueRepository.GetLookupByWellKnownName<ActivityType> ( WellKnownNames.VisitModule.ActivityType.Phq9 ); phq9 = new Phq9 ( visit, activityType ); _phq9Repository.MakePersistent ( phq9 ); DomainEvent.Raise ( new Phq9CreatedEvent { Phq9 = phq9 } ); } return phq9; }
/// <summary> /// Destroys the PHQ9. /// </summary> /// <param name="phq9">The PHQ9.</param> public void DestroyPhq9( Phq9 phq9 ) { _phq9Repository.MakeTransient ( phq9 ); }