Exemplo n.º 1
0
        private void OpenChat()
        {
            if (ChoosenUser == null)
            {
                return;
            }
            bool bIsFound = false;

            foreach (ChatModel chat in chats)
            {
                if (chat.Username.Equals(ChoosenUser))
                {
                    bIsFound = true;
                }
            }

            if (!bIsFound)
            {
                Message emptyMessage = new Message();
                emptyMessage.Sender        = ChoosenUser;
                emptyMessage.MessageDetail = string.Empty;
                CreateNewClientDelegate createNewClientDelegate = new CreateNewClientDelegate(CreateNewClient);
                Dispatcher.Invoke(createNewClientDelegate, new object[] { emptyMessage });
            }
            UpdateListBox();
        }
Exemplo n.º 2
0
        private void clientSocket_MessageReceived(object sender, ChatLibrary.Message receivedMessage)
        {
            if (receivedMessage.MessageCommand.Equals(Command.PersonalMessage) ||
                receivedMessage.MessageCommand.Equals(Command.Conference)
                )
            {
                if (receivedMessage.Receiver.Equals(clientSocket.Name) || receivedMessage.Receiver.Equals(Common.All))
                {
                    bool bWindowFound = false;

                    foreach (var chat in chats)
                    {
                        if (chat.Username.Equals(receivedMessage.Sender))
                        {
                            ChoosenUser = receivedMessage.Sender;
                            OpenChat();

                            chat.Messages += WriteMessage(receivedMessage);
                            bWindowFound   = true;
                            break;
                        }
                    }
                    if (!bWindowFound)
                    {
                        CreateNewClientDelegate createNewClientDelegate = new CreateNewClientDelegate(CreateNewClient);
                        Dispatcher.Invoke(createNewClientDelegate, new object[] { receivedMessage });
                    }
                }
            }
            UpdateListBox();
        }