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); }
public IActionResult QuizResults() { var quizResultModel = new QuizAttemptResultsViewModel(); return(View(quizResultModel)); }