Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
            }
        }