public JsonResult TestQuestions(SubmittedAnswers answersSheet) { test abc = new test(); int? result = abc.CheckQuestionAnswers(answersSheet); return(Json(result, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Updates the UI when a player has left. /// </summary> /// <param name="playerName"></param> private void OnPlayerLeft(string playerName) { _manager.RemoveParticipant(_playerToParticipantMap[playerName]); _playerToParticipantMap.Remove(playerName); if (PlayerNames.Remove(playerName)) { SubmittedAnswers.Remove(playerName); OnPropertyChanged(nameof(PlayerNames)); OnPropertyChanged(nameof(SubmittedAnswers)); } }
public Dictionary <string, int> GetResults() { var correctAnswers = this.Questions.Select(question => question.CorrectAnswerIndex); var results = from playerResults in SubmittedAnswers.AsEnumerable() let score = playerResults.Value.AsEnumerable() .Select(kvp => kvp.Value) .Zip(correctAnswers, (playerAnswer, actualAnswer) => playerAnswer.HasValue && playerAnswer.Value == actualAnswer) .Count(isCorrect => isCorrect) select new { PlayerName = playerResults.Key, Score = score }; return(results.ToDictionary(result => result.PlayerName, result => result.Score)); }
public double QuizResult() { double total = 0d; foreach (var submittedAnswer in SubmittedAnswers) { var firstOrDefault = submittedAnswer .GetQuestion() .Answers .FirstOrDefault( x => submittedAnswer.UserAnswer.Equals(x.AnswerText, StringComparison.OrdinalIgnoreCase)); if (firstOrDefault != null) { total += firstOrDefault.Correctness; } } return(total / SubmittedAnswers.ToList().Count); }
/// <summary> /// Updates the UI when a player has joined. /// </summary> /// private void OnPlayerJoined(PlayerMessage message, Guid guid) { Guid duplicatePlayerID; if (!_playerToParticipantMap.TryGetValue(message.PlayerName, out duplicatePlayerID)) { _playerToParticipantMap.Add(message.PlayerName, guid); if (PlayerNames.Contains(message.PlayerName)) { message.PlayerName += "."; } PlayerNames.Add(message.PlayerName); SubmittedAnswers.Add(message.PlayerName, new Dictionary <Question, int?>(Questions.Count)); OnPropertyChanged(nameof(PlayerNames)); OnPropertyChanged(nameof(SubmittedAnswers)); } }