Esempio n. 1
0
        protected override void GenerateAndStoreAnswerSubmissionsForQuestion(IQuestion question)
        {
            EditableAnswerSubmission newAnswerSubmission = new EditableAnswerSubmission {
                Question        = question,
                Answer          = null,
                State           = AnswerSubmissionState.NO_ANSWER,
                ValidatedByUser = false
            };

            _answerSubmissions.Add(newAnswerSubmission);
        }
Esempio n. 2
0
        public override void UpdateAnswerToQuestion(long questionId, string answerText)
        {
            bool submissionHasQuestionWithProvidedId(EditableAnswerSubmission s) => s.Question.Id == questionId;


            if (!_answerSubmissions.Any(submissionHasQuestionWithProvidedId))
            {
                throw new ArgumentException("A submission for a question with id '" + questionId + "' could not be found.");
            }

            if (_answerSubmissions.Where(submissionHasQuestionWithProvidedId).Count() > 1)
            {
                throw new Exception("There are multiple submissions for a question with id '" + questionId + "'.");
            }


            EditableAnswerSubmission answerSubmission = _answerSubmissions.First(submissionHasQuestionWithProvidedId);

            answerSubmission.Answer = answerText;
            answerSubmission.State  = AnswerSubmissionState.PENDING_JUDGE_APPROVAL;
        }