Ejemplo n.º 1
0
        private void AddChatButton_Click(object sender, RoutedEventArgs e)
        {
            AddNewChatWindow newChatDialog = new AddNewChatWindow();
            bool?            result        = newChatDialog.ShowDialog().HasValue;

            if (newChatDialog.Result)
            {
                string username = newChatDialog.UserTextBox.Text;

                DChatItem chat = this.chatManager.CreatePrivateChat(username);
                this.CurrentOpenChat = chat;
            }
        }
Ejemplo n.º 2
0
        public DChatItem CreatePrivateChat(string username)
        {
            DChatItem chat = null;

            if (!this.chatByUsername.ContainsKey(username))
            {
                this.chatByUsername.Add(username, chat = new DChatItem {
                    ChatName = username, IsGroup = false
                });
            }

            this.OnChatUpdate?.Invoke(this, username);

            this.Save();

            return(chat);
        }
Ejemplo n.º 3
0
        private void Client_OnPrivateMessageReceived(Client sender, string messageSender, string message)
        {
            DChatItem chat = null;

            if (!this.chatByUsername.TryGetValue(messageSender, out chat))
            {
                this.chatByUsername.Add(messageSender, chat = new DChatItem {
                    ChatName = messageSender, IsGroup = false
                });
            }

            chat.Messages.Add(new DChatMessage {
                Sender = messageSender, Message = message
            });
            this.OnChatUpdate?.Invoke(this, messageSender);

            this.Save();
        }
Ejemplo n.º 4
0
        private void Client_OnGroupJoin(Client sender, string groupName, List <string> usersInGroup, string welcomeMessage)
        {
            DChatItem chat = null;

            if (!this.groupByGroupName.TryGetValue(groupName, out chat))
            {
                this.groupByGroupName.Add(groupName, chat = new DChatItem {
                    ChatName = groupName, IsGroup = true
                });
            }

            chat.Messages.Add(new DChatMessage {
                Message = welcomeMessage
            });
            this.OnChatUpdate?.Invoke(this, groupName);

            this.Save();
        }
Ejemplo n.º 5
0
        private void Client_OnGroupMesssageReceived(Client sender, string messageSender, string groupName, string message)
        {
            DChatItem chat = null;

            if (!this.groupByGroupName.TryGetValue(groupName, out chat))
            {
                this.groupByGroupName.Add(groupName, chat = new DChatItem {
                    ChatName = groupName, IsGroup = true
                });
            }

            chat.Messages.Add(new DChatMessage {
                Sender = messageSender, Message = message
            });
            this.OnChatUpdate?.Invoke(this, groupName);

            this.Save();
        }
Ejemplo n.º 6
0
        public void SendGroupMessage(string groupName, string message)
        {
            this.client.SendGroupMessage(groupName, message);

            DChatItem chat = null;

            if (!this.groupByGroupName.TryGetValue(groupName, out chat))
            {
                chat = new DChatItem {
                    ChatName = groupName, IsGroup = true
                }
            }
            ;

            chat.Messages.Add(new DChatMessage {
                Sender = this.client.Username, Message = message
            });
            this.OnChatUpdate?.Invoke(this, groupName);

            this.Save();
        }
Ejemplo n.º 7
0
        public void SendPrivateMessage(string username, string message)
        {
            this.client.SendPrivateMessage(username, message);

            DChatItem chat = null;

            if (!this.chatByUsername.TryGetValue(username, out chat))
            {
                chat = new DChatItem {
                    ChatName = username, IsGroup = false
                }
            }
            ;

            chat.Messages.Add(new DChatMessage {
                Sender = this.client.Username, Message = message
            });
            this.OnChatUpdate?.Invoke(this, username);

            this.Save();
        }
Ejemplo n.º 8
0
 private void ChatItemControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     this.CurrentOpenChat = (DChatItem)this.ChatItemControl.SelectedItem;
 }