Пример #1
0
        /// <summary>
        /// Handles incoming <see cref="UserUpdatePacket"/>s.
        /// </summary>
        /// <param name="connectionId">Original connection ID</param>
        /// <param name="packet">Incoming <see cref="UserUpdatePacket"/></param>
        private void userUpdatePacketHandler(string connectionId, UserUpdatePacket packet)
        {
            User user = packet.User;

            lock (userStoreLock)
            {
                if (userStore.Users.ContainsKey(user.Uuid))
                {
                    // Update/replace the user
                    userStore.Users[user.Uuid] = user;
                }
                else
                {
                    // Add the user
                    userStore.Users.Add(user.Uuid, user);
                }
            }

            OnUserChanged?.Invoke(this, new UserChangedEventArgs(user.Uuid, user.LoggedIn, user.DisplayName));
        }
Пример #2
0
        /// <summary>
        /// Update the user
        /// </summary>
        public void UpdateUserSignalR(string uidDevice, string userJson)
        {
            if (string.IsNullOrEmpty(userJson))
            {
                return;
            }
            if (uidDevice == App.UidDevice)
            {
                return;
            }
            var user = JsonConvert.DeserializeObject <UserDTO>(userJson);

            if (user != null)
            {
                App.CurrentUserEnvironment.User = user;
                if (_dispatcherService != null)
                {
                    _dispatcherService.Invoke(() =>
                    {
                        OnUserChanged?.Invoke(null, null);
                    });
                }
            }
        }
Пример #3
0
 private void _treeViewUsers_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
 {
     OnUserChanged?.Invoke(e.Node.Tag);
 }