Beispiel #1
0
        public async Task <ActionResult> StopModule(int moduleHistoryId)
        {
            QuizHub.StopModule(moduleHistoryId);
            await _lectureHistoryHelper.ModulePassed(moduleHistoryId);

            return(RedirectToAction("activelecture", "Admin"));
        }
        public void ScrambleQuestions()
        {
            string correct = "cats";

            string[] wrong = { "meow", "meow", "meow" };

            List <string[]> possibleAnswers = new List <string[]>();

            // TODO dynamically generate possible answers
            possibleAnswers.Add(new string[] { "cats", "meow", "meow", "meow" });
            possibleAnswers.Add(new string[] { "meow", "cats", "meow", "meow" });
            possibleAnswers.Add(new string[] { "meow", "meow", "cats", "meow" });
            possibleAnswers.Add(new string[] { "meow", "meow", "meow", "cats" });

            bool pass = true;

            for (int i = 0; i < 50; i++)
            {
                string[] scramble = QuizHub.ScrambleAnswers(correct, wrong);
                int      index    = possibleAnswers.FindIndex(ans => ans == scramble);

                if (index == -1)
                {
                    pass = false;
                }
            }

            Assert.IsTrue(pass, "Blah");
            Assert.Pass("Passed!");
        }
Beispiel #3
0
        private async void StopQuizOnTimer(object state)
        {
            var tuple = (Tuple <int, TimerType>)state;

            switch (tuple.Item2)
            {
            case TimerType.Realtime:
                QuizHub.StopModule(tuple.Item1);
                await new LectureHistoryHelper(_context).ModulePassed(tuple.Item1);
                break;

            case TimerType.Individual:
                await new QuizManager(_context).ResovlePassedIndividualQuiz(tuple.Item1);
                break;

            case TimerType.Cumulative:
                await new QuizManager(_context).ResovlePassedCumulativeQuiz(tuple.Item1);
                break;
            }
        }