public IActionResult QuizForm(QuizViewModel quizViewModel)
        {
            // calculate time
            var endTime   = DateTime.Now;
            var beginTime = HttpContext.Session.Get <DateTime>(SessionKeyQuizStartTime);
            var quizTime  = (int)endTime.Subtract(beginTime).TotalSeconds;

            Console.WriteLine("Time of quiz: " + quizTime.ToString());

            //calculate score
            var questsFromUser = quizViewModel.Quests;
            var originalQuests = QuestCreator.CreateDefaultQuests(50);
            var score          = CalculateScore(questsFromUser, originalQuests);

            Console.WriteLine("Wynik: " + score.ToString());

            // write results to session probe result
            var probeResult = HttpContext.Session.Get <ProbeResult>(SessionKeyProbeResult);

            probeResult.Time  = quizTime;
            probeResult.Score = score;
            HttpContext.Session.Set(SessionKeyProbeResult, probeResult);

            QuizDone();

            return(RedirectToAction("Survey"));
        }
        public IActionResult Quiz()
        {
            if (QuizEnabled())
            {
                var model = new QuizViewModel
                {
                    Quests         = QuestCreator.CreateDefaultQuests(50),
                    TutorialQuests = QuestCreator.CreateInstructionQuests(),
                };

                QuizBegin();

                return(View(model));
            }

            else
            {
                return(RedirectToAction("Hello"));
            }
        }
示例#3
0
 public QuizViewModel()
 {
     AllQuests = QuestCreator.CreateDefaultQuests(NumOfQuests);
 }