public static RandomQuestion GenerateRandomQuestion() { var qa = RandomQuestions.CreateRandomQuestions(); var random = new Random(); var index = random.Next(qa.Count); return(qa[index]); }
public static bool ValidateProvidedAnswer(IFormCollection form) { ValidateForm(form); var(providedAnswer, questionId) = ExtractAnswerFromRequest(form); var qa = RandomQuestions.CreateRandomQuestions(); var lookup = qa.FirstOrDefault(q => q.Id == questionId); if (lookup is null) { return(false); } var result = string.Equals(lookup.Answer, providedAnswer, StringComparison.OrdinalIgnoreCase); return(result ? true : throw new InvalidOperationException("Provided answer is not correct!")); }