private void Client_OnMessageReceived(SignalrUser user)
 {
     Device.BeginInvokeOnMainThread(() =>
     {
         model.Add(user);
     });
 }
 public void Connect(string _username, string roomname)
 {
     Connection = new HubConnection(url, new Dictionary <string, string> {
         { "username", _username }
     }
                                    );
     Connection.StateChanged += Connection_StateChanged;
     ChatHubProxy             = Connection.CreateHubProxy("ChatHub");
     ConnectedUser.Ids.Add(Connection.ConnectionId);
     ChatHubProxy.On <string, string>("MessageReceived", (username, message) =>
     {
         var user = new SignalrUser
         {
             username = username,
             message  = message,
         };
         OnMessageReceived?.Invoke(user);
     });
     Start().ContinueWith(task =>
     {
         if (task.IsFaulted)
         {
             ConnectionError.Invoke();
         }
     });
 }
        public void MesajGonder()
        {
            SignalrUser item = new SignalrUser();

            client.SendMessagePrivate(_username, txtMessage.Text);
            txtMessage.Focus();
            this.BindingContext = model;
        }
Exemple #4
0
        private void Client_OnMessageReceived(SignalrUser user)
        {
            List <MessagesPageViewModel> vModels = new List <MessagesPageViewModel>();


            Device.BeginInvokeOnMainThread(() =>
            {
                if (!user.message.Contains("Connected!") && !user.message.Contains("Reconnected!") && !user.message.Contains("undefined") && !user.message.Contains("Disconnected!"))
                {
                    FillChannels();
                }
            });
        }
        public ChatqViewModel()
        {
            ListMessages = new ObservableRangeCollection <SignalrUser>();

            SendCommand = new Command(() =>
            {
                if (!String.IsNullOrWhiteSpace(OutText))
                {
                    var messageq = new SignalrUser
                    {
                        message         = OutText,
                        IsTextIn        = false,
                        MessageDateTime = DateTime.Now
                    };
                    ListMessages.Add(messageq);
                    OutText = "";
                }
            });
        }
        public ItemsPageViewModel(Item item = null)
        {
            ListMessages = new ObservableRangeCollection <SignalrUser>();

            SendCommand = new Command(() =>
            {
                if (!String.IsNullOrWhiteSpace(OutText))
                {
                    var _messageq = new SignalrUser()
                    {
                        message         = OutText,
                        IsTextIn        = true,
                        MessageDateTime = DateTime.Now
                    };


                    ListMessages.Add(_messageq);
                    OutText = "";
                    _page.MesajGonder();
                }
            });
        }
 private void Client_OnMessageReceived(SignalrUser user)
 {
     model.Add(user);
     vm.ListMessages.Add(user);
 }
Exemple #8
0
        private void Client_OnMessageReceived(SignalrUser user)
        {
            Device.BeginInvokeOnMainThread(() =>
            {
                if (!user.message.Contains("Connected!") && !user.message.Contains("Reconnected!") && !user.message.Contains("undefined") && !user.message.Contains("Disconnected!"))
                {
                    if (user.username == currentUser.Email) // EĞER GELEN MESAJ BENİM İSE
                    {
                        if (LastMessageOwnerId == currentUser.Id)
                        {
                            ChatPageViewModel chatPageViewModel = new ChatPageViewModel()
                            {
                                isMyMessage         = true,
                                Message             = user.message,
                                SendingTime         = DateTime.Now,
                                isUserChangingPoint = false,
                                SenderUser          = currentUser
                            };
                            //ChatPageViewModels.Add(new ChatPageViewModel()
                            //{
                            //    isMyMessage = true,
                            //    Message = user.message,
                            //    SendingTime = DateTime.Now,
                            //    isUserChangingPoint = false,
                            //    SenderUser = currentUser
                            //});
                            ChatPageViewModels.Add(chatPageViewModel);
                        }
                        else
                        {
                            ChatPageViewModel chatPageViewModel = new ChatPageViewModel()
                            {
                                isMyMessage         = true,
                                Message             = user.message,
                                SendingTime         = DateTime.Now,
                                isUserChangingPoint = true,
                                SenderUser          = currentUser
                            };
                            //ChatPageViewModels.Add(new ChatPageViewModel()
                            //{
                            //    isMyMessage = true,
                            //    Message = user.message,
                            //    SendingTime = DateTime.Now,
                            //    isUserChangingPoint = true,
                            //    SenderUser = currentUser
                            //});
                            ChatPageViewModels.Add(chatPageViewModel);
                        }
                        LastMessageOwnerId = currentUser.Id;
                    }
                    else // EĞER GELEN MESAJ BENİM DEĞİL İSE
                    {
                        if (user.username == messagesPageViewModel.otherUserEmail)
                        {
                            if (LastMessageOwnerId == messagesPageViewModel.OtherUser.Id)
                            {
                                ChatPageViewModel chatPageViewModel = new ChatPageViewModel()
                                {
                                    isMyMessage         = false,
                                    Message             = user.message,
                                    SendingTime         = DateTime.Now,
                                    isUserChangingPoint = false,
                                    SenderUser          = messagesPageViewModel.OtherUser
                                };

                                ChatPageViewModels.Add(chatPageViewModel);
                            }
                            else
                            {
                                ChatPageViewModel chatPageViewModel = new ChatPageViewModel()
                                {
                                    isMyMessage         = false,
                                    Message             = user.message,
                                    SendingTime         = DateTime.Now,
                                    isUserChangingPoint = true,
                                    SenderUser          = messagesPageViewModel.OtherUser
                                };

                                ChatPageViewModels.Add(chatPageViewModel);
                            }
                            LastMessageOwnerId = messagesPageViewModel.OtherUser.Id;
                        }
                    }
                    colMessages.ItemsSource = null;
                    colMessages.ItemsSource = ChatPageViewModels;
                    colMessages.ScrollTo(ChatPageViewModels.Last(), -1, ScrollToPosition.End, true);
                }
            });
        }