public Task ChatRoomSendMessage(string message, string chatRoomName) { return(Task.Run(() => { var chatRoom = chatRoomService.GetChatRoom(chatRoomName); if (chatRoom.HasParticipant(Context.User)) { ChatMessage chatMessage = new ChatMessage { User = Context.User, Message = message, WhenCreated = DateTime.UtcNow }; chatRoom.AddChatMessage(chatMessage); var apiObject = new ChatRoomSendMessage { ChatMessage = chatMessage.ApiGetChatMessage(), ChatRoomName = chatRoomName }; foreach (var participant in chatRoom.GetParticipants()) { var connection = userConnectionsService.ChatConnectionService.GetConnection(participant); Clients.Client(connection).ChatRoomSendMessage(apiObject); } } })); }
public static Task ChatRoomSendMessage(this IClientProxy hubConnection, ChatRoomSendMessage apiObject) { return(hubConnection.SendAsync(ChatHubApiKeys.ChatRoomSendMessage, apiObject)); }