Exemplo n.º 1
0
        public async Task <IActionResult> SolveQuiz(Guid quizId)
        {
            SampleQuiz sample = await _context.GetSampleQuiz(quizId);

            SolvingQuiz quiz = SolvingQuiz.CreateFromSample(sample);
            await _context.AddQuizesToUser(quiz, sample, _userManager.GetUserId(User));

            return(RedirectToAction("SolveQuestions", new { quizId = quiz.Id, sampleId = sample.Id }));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> CreateQuiz(QuizInfoModel model)
        {
            if (ModelState.IsValid)
            {
                SampleQuiz creatingQuiz = new SampleQuiz(model.QuizName, model.DateExpiring, model.QuizGenre);
                await _context.AddSampleQuiz(creatingQuiz);

                return(RedirectToAction("AddQuestions", new { quizId = creatingQuiz.Id }));
            }
            return(View());
        }
Exemplo n.º 3
0
        public async Task <IActionResult> SolveQuestions(Guid quizId, Guid sampleId)
        {
            SolvingQuiz quiz = await _context.GetSolvingQuiz(quizId);

            SampleQuiz sample = await _context.GetSampleQuiz(sampleId);

            SolvedQuestion       solvedQuestion = quiz.Questions.First();
            SolvingQuestionModel question       = new SolvingQuestionModel(sample.Questions.Find(s => s.QuestionText.Equals(solvedQuestion.QuestionText)), solvedQuestion);

            return(View(question));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> SolveQuestions(SolvingQuestionModel model)
        {
            if (ModelState.IsValid)
            {
                SolvingQuiz quiz = await _context.GetSolvingQuiz(model.SolvingQuizId);

                SampleQuiz sample = await _context.GetSampleQuiz(model.SampleQuizId);

                _context.StoreUserAnswer(model.UserAnswer, quiz.Questions.ElementAt(model.QuestionNumber - 1));
                await _context.CalculateStats(quiz);

                if (model.QuestionNumber == quiz.NumberOfQuestions)
                {
                    return(RedirectToAction("Profile"));
                }
                model.nextQuestion(sample.Questions, quiz.Questions.ElementAt(model.QuestionNumber));
            }
            return(View(model));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> QuizDetails(Guid quizId)
        {
            SampleQuiz quiz = await _context.GetSampleQuiz(quizId);

            return(View(quiz));
        }