Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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();
            }
        }
Beispiel #3
0
 private void HandleIndividualChatMessage(IndividualChatMessages individualChatMessage)
 {
     foreach (ClientHandler clientHandler in clients)
     {
         if (clientHandler.id == individualChatMessage.ReceiverId)
         {
             SendMessageToClient(individualChatMessage, clientHandler);
             break;
         }
     }
 }
Beispiel #4
0
 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);
     }
 }
Beispiel #5
0
 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);
     }
 }
Beispiel #6
0
        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();
            }
        }
Beispiel #7
0
 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);
     }
 }
Beispiel #8
0
 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);
             }
         }
     }
 }