Пример #1
0
        private MultipleRiddleAnswer GetOnlyQuestions(MultipleRiddleAnswer multipleRiddleAnswer)
        {
            Dictionary <int, string> dictionaryWithoutAnswers = multipleRiddleAnswer.Answers.Keys
                                                                .GroupBy(k => k)
                                                                .ToDictionary(kv => kv.Key, kv => string.Empty);

            return(new MultipleRiddleAnswer
            {
                Answers = dictionaryWithoutAnswers
            });
        }
Пример #2
0
        private bool IsMultipleRiddleCorrect(MultipleRiddleAnswer riddle, MultipleRiddleAnswer answer)
        {
            foreach (KeyValuePair <int, string> kv in riddle.Answers)
            {
                string questionAnswer = answer.Answers[kv.Key];
                if (!EqualWithoutSlash(questionAnswer.ToUpper(), kv.Value.ToUpper()))
                {
                    return(false);
                }
            }

            return(true);
        }
Пример #3
0
        private IActionResult Answer(MultipleRiddleAnswer riddle)
        {
            int currentRiddleNumber           = GetRiddleNumber();
            MultipleRiddleAnswer riddleAnswer = GetRiddleAnswer(currentRiddleNumber) as MultipleRiddleAnswer;

            if (IsMultipleRiddleCorrect(riddleAnswer, riddle))
            {
                TempData["HasSucceeded"] = true;
                return(NextRiddle(currentRiddleNumber, riddleAnswer.NextRiddleQuestion));
            }

            TempData["IsMultipleAnswer"] = true;

            return(RedirectToQuestionWithWrongAnswer());
        }