Exemplo n.º 1
0
        public void BroadcastMessage(TriviaMessageDto message, string tableName)
        {
            var context = GlobalHost.ConnectionManager.GetHubContext <TriviaHub>();
            var clients = GetConnectedUsersForTable(tableName);

            context.Clients.Clients(clients).AddMessage(message);
        }
Exemplo n.º 2
0
        private async Task SendCorrectAnswerResponse(string user, int receivedPoints, string tableName)
        {
            var response = new TriviaMessageDto {
                Sender = "TriviaBot", MessageText = $"{user} gave the correct answer and received {receivedPoints} points!"
            };
            await triviaManager.AddTriviaMessageToDatabase(response);

            triviaCore.BroadcastCorrectAnswer(response, tableName);
        }
Exemplo n.º 3
0
        private Response GetCurrentQuestion(string tableName)
        {
            var table           = TriviaUserHandler.TriviaTables.Single(t => t.TableName == tableName);
            var questionMessage = table.CurrentTriviaQuestion.QuestionText;
            var questionToSend  = new TriviaMessageDto
            {
                Sender      = "TriviaBot",
                MessageText = questionMessage
            };

            return(Response.AsJson(questionToSend));
        }
Exemplo n.º 4
0
        public void SendUserCurrentQuestion(string connectionId, string tableName)
        {
            var table   = TriviaUserHandler.TriviaTables.Single(t => t.TableName == tableName);
            var context = GlobalHost.ConnectionManager.GetHubContext <TriviaHub>();

            var questionMessage = table.CurrentTriviaQuestion.QuestionText;
            var questionToSend  = new TriviaMessageDto
            {
                Sender      = "TriviaBot",
                MessageText = questionMessage
            };

            context.Clients.Client(connectionId).AddQuestion(questionToSend);
        }
Exemplo n.º 5
0
        public async Task BroadcastHint(int hintNumber, string tableName)
        {
            var hint = GetHintByNumber(hintNumber, tableName);

            if (hint == string.Empty)
            {
                return;
            }
            var questionToSend = new TriviaMessageDto {
                Sender = "TriviaBot", MessageText = $"Hint : {hint}"
            };
            await triviaManager.AddTriviaMessageToDatabase(questionToSend);

            var context = GlobalHost.ConnectionManager.GetHubContext <TriviaHub>();
            var clients = GetConnectedUsersForTable(tableName);

            context.Clients.Clients(clients).AddMessage(questionToSend);
        }
Exemplo n.º 6
0
        public async Task BroadcastQuestion(string tableName)
        {
            var table = TriviaUserHandler.TriviaTables.SingleOrDefault(t => t.TableName == tableName);

            await InitializeCurrentTriviaQuestion(table, table.Topic);

            var questionMessage = table.CurrentTriviaQuestion.QuestionText;
            var questionToSend  = new TriviaMessageDto
            {
                Sender      = "TriviaBot",
                MessageText = questionMessage
            };

            await triviaManager.AddTriviaMessageToDatabase(questionToSend);

            var context = GlobalHost.ConnectionManager.GetHubContext <TriviaHub>();
            var clients = GetConnectedUsersForTable(tableName);

            context.Clients.Clients(clients).AddQuestion(questionToSend);
        }