Beispiel #1
0
        //Unešena poruka ne može biti prazna i poziva se metoda PostMessage na servisu
        //koja uz pomoć callback metode svim registrovanim korisnicima šalje poruku , osim onome koji je šalje
        //Poruka koji je uneo korisnik se ispisuje u ListBox konverzacije da bi korisnik ispratio i svoje poruke
        //i fokus se stavlja na zadnju stavku u ListBox-u
        private void btnPostMessage_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(tBoxMessageText.Text) || string.IsNullOrWhiteSpace(tBoxMessageText.Text))
            {
                MessageBox.Show("Message can not be empty!!!");
                return;
            }
            string           user          = tBoxNickName.Text;
            string           messege       = tBoxMessageText.Text;
            var              time          = DateTime.Now;
            MessengerAppUser messengarUser = new MessengerAppUser()
            {
                NickName = user
            };
            MessengerAppMessage msg = new MessengerAppMessage();

            msg.User     = messengarUser;
            msg.Message  = messege;
            msg.CreateAt = time;
            clientProxy.PostMessage(msg);
            messengarUser.NickName = "currentUser";
            AddToConversationList(msg);
            lBox.ScrollIntoView(lBox.Items[lBox.Items.Count - 1]);
            tBoxMessageText.Clear();
            tBoxMessageText.Focus();
        }
Beispiel #2
0
        //Metoda koja dodaje poruke u ObservableCollection  conversationList
        public void AddToConversationList(MessengerAppMessage message)
        {
            ChatMessege msg = new ChatMessege();

            msg.CurrentUserMessage = tBoxMessageText.Text;
            msg.ChatMemberNickName = message.User.NickName;
            msg.ChatMemberMessage  = message.Message;
            conversationList.Add(msg);
            lBox.ScrollIntoView(lBox.Items[lBox.Items.Count - 1]);
        }
Beispiel #3
0
 //Callback metoda servisa tj. ovu metodu sevis poziva na klijentu u procesu callback-a
 public void SendMessageToAllClients(MessengerAppMessage message)
 {
     try
     {
         Dispatcher.BeginInvoke(
             (Action)(() => {
             AddToConversationList(message);
         }));
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
     }
 }