public async Task CreatePokemonUserData(QuizAttemptResultsViewModel model)
        {
            var user = await _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User);

            var dalModel   = new PokemonDALModel();
            var pokePlayer = await _pokemonUserSQLStore.GetUserScoreData(user.Id);

            if (user.Id == pokePlayer?.FK_UsernameID)
            {
                pokePlayer.TotalAccumlatiedPoints += model.AmountCorrect;
                pokePlayer.TotalPossiblePoints    += model.QuestionsAttempted;
                pokePlayer.OverallPercent          = Convert.ToSingle(pokePlayer.TotalAccumlatiedPoints) / Convert.ToSingle(pokePlayer.TotalPossiblePoints);
                pokePlayer.RecentTotalCorrect      = model.AmountCorrect;
                pokePlayer.RecentAmountOfQuestions = model.QuestionsAttempted;
                pokePlayer.WhichQuizTaken          = model.QuestionsAttempted.ToString();
                pokePlayer.AttemptsPerQuiz        += 1;
                await _pokemonUserSQLStore.UpdateUserStatusAtQuizEnd(pokePlayer);
            }
            else
            {
                dalModel.Username                = user.UserName;
                dalModel.FK_UsernameID           = user.Id;
                dalModel.TotalAccumlatiedPoints += model.AmountCorrect;
                dalModel.TotalPossiblePoints    += model.QuestionsAttempted;
                dalModel.OverallPercent          = Convert.ToSingle(dalModel.TotalAccumlatiedPoints) / Convert.ToSingle(dalModel.TotalPossiblePoints);
                dalModel.RecentTotalCorrect      = model.AmountCorrect;
                dalModel.RecentAmountOfQuestions = model.QuestionsAttempted;
                dalModel.WhichQuizTaken          = model.QuestionsAttempted.ToString();
                dalModel.AttemptsPerQuiz        += 1;
                await _pokemonUserSQLStore.InsertUserStatusAtQuizEnd(dalModel);
            }
        }
        public async Task <QuizAttemptResultsViewModel> SetQuizResults()
        {
            var quizResults = new QuizAttemptResultsViewModel();

            quizResults.AmountCorrect      = _session.GetInt32("amountCorrect") ?? 0;
            quizResults.QuestionsAttempted = _session.GetInt32("questionsAttempted") ?? 0;
            quizResults.ScoreThisAttempt   = _quizCalculations.CalculateCurrentAttemptScore(quizResults.AmountCorrect, quizResults.QuestionsAttempted);
            quizResults.CorrectAnswers     = JsonConvert.DeserializeObject <List <string> >(_session.GetString("answerList"));
            quizResults.SelectedAnswers    = JsonConvert.DeserializeObject <List <string> >(_session.GetString("userAnswer"));
            _session.Clear();
            return(quizResults);
        }
Example #3
0
        public IActionResult QuizResults()
        {
            var quizResultModel = new QuizAttemptResultsViewModel();

            return(View(quizResultModel));
        }