Пример #1
0
        /// <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);
        }
Пример #2
0
 /// <summary>
 /// Destroys the PHQ9.
 /// </summary>
 /// <param name="phq9">The PHQ9.</param>
 public void DestroyPhq9(Phq9 phq9)
 {
     _phq9Repository.MakeTransient(phq9);
 }
Пример #3
0
        /// <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;
        }
Пример #4
0
 /// <summary>
 /// Destroys the PHQ9.
 /// </summary>
 /// <param name="phq9">The PHQ9.</param>
 public void DestroyPhq9( Phq9 phq9 )
 {
     _phq9Repository.MakeTransient ( phq9 );
 }