private void OnUserTyping(User user, string room) { InvokeIfInRoom(room, roomVm => { UserViewModel userVm = _userService.GetUserViewModel(user); if (userVm == null || userVm.IsCurrentUser) { return; } PostOnUi(() => roomVm.SetUserTyping(userVm)); }); }
private void CompleteSignin(LogOnInfo logOnInfo, TaskCompletionSource <UserViewModel> taskCompletionSource) { _logOnInfo = logOnInfo; User userinfo = _client.GetUserInfo().Result; UserViewModel userviewModel = _userService.GetUserViewModel(userinfo); userviewModel.IsCurrentUser = true; _roomService.JoinRooms(logOnInfo.Rooms); _roomService.GetRooms(); CurrentUser = userviewModel; taskCompletionSource.TrySetResult(userviewModel); }
private ChatMessageViewModel CreateMessageViewModel(Message message) { string content = ProcessEmoji(message.Content); var msgVm = _serviceLocator.GetViewModel <ChatMessageViewModel>(); UserViewModel userVm = _userService.GetUserViewModel(message.User); msgVm.IsNotifying = false; msgVm.RawContent = message.Content; msgVm.MessageDateTime = message.When.LocalDateTime; msgVm.MessageId = message.Id; msgVm.RichContent = ConvertToXaml(content); msgVm.User = userVm; msgVm.IsNotifying = true; return(msgVm); }