Ejemplo n.º 1
0
        /// <summary>
        /// Assigns a Questionnaire to an episode
        /// </summary>
        /// <param name="questionnaire">The name of the questionnaire to assign</param>
        /// <param name="episodeId">The episode to assign the questionnaire to</param>
        /// <param name="schedule">The schedule to assign the questionnaire with</param>
        public void ScheduleQuestionnaireForEpisode(string questionnaire, int episodeId, string schedule)
        {
            try
            {
                SecuritySession.Current.VerifyAccess(Actions.SCHEDULE_QUESTIONNAIRE_FOR_EPISODE, episodeId: episodeId);

                AssignedQuestionnaire aq = new AssignedQuestionnaire();
                aq.QuestionnaireName = questionnaire;
                aq.ScheduleString    = schedule;

                this.manager.EpisodeAccessHandler.AssignQuestionaireToEpisode(aq, episodeId);
                Logger.Audit(new Audit(Model.Security.Actions.SCHEDULE_QUESTIONNAIRE_FOR_EPISODE, AuditEventType.ADD, typeof(Episode), "Id", episodeId.ToString()));
            }
            catch (Exception ex)
            {
                Logger.Audit(new Audit(Model.Security.Actions.SCHEDULE_QUESTIONNAIRE_FOR_EPISODE, AuditEventType.ADD, typeof(Episode), "Id", episodeId.ToString(), false, ex.Message));
                throw ex;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Schedules a questionnaire date for a AssignedQuestionnaire
        /// </summary>
        /// <param name="questionnaireName">The name of the questionnaire to schedule</param>
        /// <param name="aq">the AssignedQuestionnaire class it will belong to</param>
        /// <param name="calculatedDate">The date and time that has been calculated</param>
        /// <param name="scheduleString"> The schedule string that resulted in this date and time</param>
        /// <returns>The schedule questionnaire date instance</returns>
        public ScheduledQuestionnaireDate ScheduleDateForQuestionnaire(string questionnaireName, AssignedQuestionnaire aq, DateTime calculatedDate, string scheduleString)
        {
            ScheduledQuestionnaireDate sqd = new ScheduledQuestionnaireDate();

            sqd.AssignedQuestionnaire   = this.context.AssignedQuestionnaires.Where(a => a.Id == aq.Id).Single();
            sqd.ScheduleHasBeenExecuted = false;
            sqd.CalculatedDate          = calculatedDate;
            sqd.ScheduleString          = scheduleString;
            this.context.ScheduledQuestionnaireDates.Add(sqd);
            this.context.SaveChanges();

            return(sqd);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Assigns a questionnaire to an Episode
 /// </summary>
 /// <param name="aq">The AssignedQuestionnaire instance to assign to the episode</param>
 /// <param name="episodeId">The Id of the episode to assign it to</param>
 public void AssignQuestionaireToEpisode(AssignedQuestionnaire aq, int episodeId)
 {
     aq.Episode = this.context.Episodes.Where(e => e.Id == episodeId).Single();
     this.context.AssignedQuestionnaires.Add(aq);
     this.context.SaveChanges();
 }