Exemple #1
0
        /// <summary>
        /// The get survey answer lms ids.
        /// </summary>
        /// <param name="question">
        /// The question.
        /// </param>
        /// <param name="answer">
        /// The answer.
        /// </param>
        /// <returns>
        /// The <see cref="string[]"/>.
        /// </returns>
        protected string[] GetSurveyAnswerLmsIds(Question question, SurveyQuestionResultDTO answer)
        {
            var answers = answer.answers ?? new SurveyQuestionResultAnswerDTO[0];

            var distractors = question.Distractors.Where(d => answers.Any(a => a.surveyDistractorAnswerId == d.Id) && d.LmsAnswerId != null);

            return(distractors.Select(d => d.LmsAnswerId.ToString()).ToArray());
        }
Exemple #2
0
        private SurveyQuestionResult ConvertDto(SurveyQuestionResultDTO resultDTO, SurveyResult surveyResult)
        {
            var instance = new SurveyQuestionResult
            {
                Question     = resultDTO.question,
                IsCorrect    = resultDTO.isCorrect,
                QuestionType = this.QuestionTypeModel.GetOneById(resultDTO.questionTypeId).Value,
                SurveyResult = surveyResult,
                QuestionRef  = this.QuestionModel.GetOneById(resultDTO.questionId).Value
            };

            return(instance);
        }
Exemple #3
0
 private void CreateAnswers(SurveyQuestionResultDTO dto, SurveyQuestionResult result, SurveyQuestionResultAnswerModel answerModel)
 {
     foreach (var answerDTO in dto.answers)
     {
         answerDTO.surveyQuestionResultId = result.Id;
         if (IsValid(answerDTO, out ValidationResult distractorValidationResult))
         {
             try
             {
                 var answer = ConvertDto(answerDTO, result);
                 answerModel.RegisterSave(answer, true);
             }
             catch (Exception ex)
             {
                 Logger.ErrorFormat("Saving answers:" + ex);
             }
         }
     }
 }
Exemple #4
0
 /// <summary>
 /// The convert survey answers to quiz answers.
 /// </summary>
 /// <param name="question">
 /// The question.
 /// </param>
 /// <param name="answer">
 /// The answer.
 /// </param>
 /// <param name="takeDistractorId">
 /// The take Distractor Id.
 /// </param>
 /// <returns>
 /// The <see cref="string[]"/>.
 /// </returns>
 protected string[] ConvertSurveyAnswersToQuizAnswers(Question question, SurveyQuestionResultDTO answer, bool takeDistractorId)
 {
     return(answer.answers.Where(a => takeDistractorId ? a.surveyDistractorId != null : a.value != null)
            .Select(a => takeDistractorId ? a.surveyDistractorId.ToString() : a.value).ToArray());
 }