protected override void GenerateAndStoreAnswerSubmissionsForQuestion(IQuestion question) { EditableAnswerSubmission newAnswerSubmission = new EditableAnswerSubmission { Question = question, Answer = null, State = AnswerSubmissionState.NO_ANSWER, ValidatedByUser = false }; _answerSubmissions.Add(newAnswerSubmission); }
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; }