private void UnreadMessageHandler(string unreadMessageString, Messages message) { Action action = delegate { if (message is IndividualChatMessages) { IndividualChatMessages individualChatMessage = (IndividualChatMessages)message; if ((client.id == individualChatMessage.ReceiverId) && (selectedDialog != individualChatMessage.SenderId)) { participantsListBox.Items[individualChatMessage.SenderId] = unreadMessageString; } } else if ((message is CommonChatMessages) && (selectedDialog != CommonChatId)) { participantsListBox.Items[CommonChatId] = unreadMessageString; } }; if (InvokeRequired) { Invoke(action); } else { action(); } }
private void ReadMessageHandler(Messages message) { Action action = delegate { if (message is IndividualChatMessages) { IndividualChatMessages individualChatMessage = (IndividualChatMessages)message; if (client.id == individualChatMessage.ReceiverId) { participantsListBox.Items[individualChatMessage.SenderId] = client.participants[individualChatMessage.SenderId].Name; } } else if (message is CommonChatMessages) { participantsListBox.Items[CommonChatId] = CommonChatName; } }; if (InvokeRequired) { Invoke(action); } else { action(); } }
private void HandleIndividualChatMessage(IndividualChatMessages individualChatMessage) { foreach (ClientHandler clientHandler in clients) { if (clientHandler.id == individualChatMessage.ReceiverId) { SendMessageToClient(individualChatMessage, clientHandler); break; } } }
public void SendMessage(string content, int selectedDialog) { if (participants[selectedDialog].Id == 0) { tcpSocket.Send(messageSerializer.Serialize(GetCommonChatMessage(content))); } else { IndividualChatMessages individualChatMessage = GetIndividualChatMessage(content, participants[selectedDialog].Id); if (individualChatMessage.SenderId != individualChatMessage.ReceiverId) { tcpSocket.Send(messageSerializer.Serialize(individualChatMessage)); } participants[selectedDialog].MessageHistory.Add(individualChatMessage); ReceiveMessageEvent(individualChatMessage); } }
private void HandleChatMessage(CommonChatMessages commonChatMessage) { if (commonChatMessage is IndividualChatMessages) { IndividualChatMessages individualChatMessage = (IndividualChatMessages)commonChatMessage; if (client.id == individualChatMessage.ReceiverId) { ReceiverHandleIndividualChatMessage(individualChatMessage); } else if (client.id == individualChatMessage.SenderId) { SenderHandleIndividualChatMessage(individualChatMessage); } } else if (commonChatMessage is CommonChatMessages) { AddNewCommonChatMessage(commonChatMessage); } }
private void ReceiverHandleIndividualChatMessage(IndividualChatMessages individualChatMessage) { Action action = delegate { if (individualChatMessage.SenderId == selectedDialog) { string chatContent = "[" + individualChatMessage.DateTime.ToString() + " " + individualChatMessage.SenderIp.ToString() + ":" + individualChatMessage.SenderPort + "]: \"" + client.participants[individualChatMessage.SenderId].Name + "\": " + individualChatMessage.Content + "\r\n"; ChatListBox.Items.Add(chatContent); } }; if (InvokeRequired) { Invoke(action); } else { action(); } }
public void HandleReceivedMessage(Messages message) { if (message is InviteRoomMessage) { InviteRoomMessage inviteRoomMessage = (InviteRoomMessage)message; HandleInviteRoomMessage(inviteRoomMessage); } if (message is ExitRoomMessage) { ExitRoomMessage exitRoomMessage = (ExitRoomMessage)message; HandleExitRoomMessage(exitRoomMessage); } if (message is ClientUdpRequestMessages) { ClientUdpRequestMessages clientUdpRequestMessage = (ClientUdpRequestMessages)message; HandleClientUdpRequestMessage(clientUdpRequestMessage); } if (message is CreateRoomRequestMessage) { CreateRoomRequestMessage createRoomRequestMessage = (CreateRoomRequestMessage)message; HandleCreateRommRequestMessage(createRoomRequestMessage); } if (message is RoomMessage) { RoomMessage roomMessage = (RoomMessage)message; HandleRoomMessage(roomMessage); } else if (message is IndividualChatMessages) { IndividualChatMessages individualChatMessage = (IndividualChatMessages)message; HandleIndividualChatMessage(individualChatMessage); } else if (message is CommonChatMessages) { CommonChatMessages commonChatMessage = (CommonChatMessages)message; WriteLine("\"" + GetName(commonChatMessage.SenderId) + "\": " + commonChatMessage.Content); HandleCommonChatMessage(commonChatMessage); } }
private void HandleChatMessage(CommonChatMessages commonChatMessage) { if (commonChatMessage is IndividualChatMessages) { IndividualChatMessages individualChatMessage = (IndividualChatMessages)commonChatMessage; foreach (NewChatParticipant chatParticipant in participants) { if (chatParticipant.Id == individualChatMessage.SenderId) { chatParticipant.MessageHistory.Add(individualChatMessage); chatParticipant.NotReadedMessageCountIncrement(individualChatMessage); if (individualChatMessage is FileIndividualMessage) { var fileIndividualMessage = (FileIndividualMessage)individualChatMessage; foreach (var file in fileIndividualMessage.Files) { chatParticipant.Files.Add(file.Key, file.Value); } } break; } } } else { participants[0].NotReadedMessageCountIncrement(commonChatMessage); if (commonChatMessage is FileCommonMessage) { var fileCommonMessage = (FileCommonMessage)commonChatMessage; foreach (var file in fileCommonMessage.Files) { participants[0].Files.Add(file.Key, file.Value); } } } }