public void BroadcastMessage(TriviaMessageDto message, string tableName) { var context = GlobalHost.ConnectionManager.GetHubContext <TriviaHub>(); var clients = GetConnectedUsersForTable(tableName); context.Clients.Clients(clients).AddMessage(message); }
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); }
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)); }
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); }
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); }
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); }