private ChatMessagesResponse CreateUserLoginMessage(UserLogin userLogin) { ChatMessagesResponse response = new ChatMessagesResponse() { SendFromUserId = userLogin.Id, UserLogin = new UserLogin() { Id = userLogin.Id, Name = userLogin.Name } }; return(response); }
private ChatMessagesResponse CreateChatMessage(ChatMessage chatMessage, UserLogin userLogin) { ChatMessagesResponse response = new ChatMessagesResponse() { SendFromUserId = userLogin.Id, SendFromUserName = userLogin.Name, ChatMessage = new ChatMessage() { Id = chatMessage.Id, Message = chatMessage.Message } }; return(response); }
/// <summary> /// Send our message. /// </summary> private async Task SendMessage() { // If we have tried to send a zero length string we just return if (messageText.Text == string.Empty) { return; } var request = new ChatMessagesRequest() { ChatMessage = new ChatMessage() { Id = userId, Message = messageText.Text } }; outgoingMessages.Add(request, cancellationTokenSource.Token); var responseToMe = new ChatMessagesResponse() { SendFromUserId = userId, SendFromUserName = userName, ChatMessage = request.ChatMessage }; await OutputMessage(responseToMe); /* * var random = new Random(); * while (true) * { * var randomMessage = random.Next(1, 1000); * await SendMessageOverTheWire(randomMessage.ToString()); * await Task.Delay(2); * } */ messageText.Clear(); }
private async Task OutputMessage(ChatMessagesResponse response) { switch (response.MessagesCase) { case ChatMessagesResponse.MessagesOneofCase.None: break; case ChatMessagesResponse.MessagesOneofCase.ChatMessage: await AppendLineToChatBox($"[{response.SendFromUserName}]: {response.ChatMessage.Message}"); break; case ChatMessagesResponse.MessagesOneofCase.UserLogin: await AppendLineToChatBox($"[{response.UserLogin.Name}] connected."); break; case ChatMessagesResponse.MessagesOneofCase.UserLogout: await AppendLineToChatBox($"[{response.UserLogout.Name}] disconnected."); break; } }
private void NewOutgoingMessage(ChatMessagesResponse chatMessagesResponse) { Pusher.OnNext(chatMessagesResponse); }