Example #1
0
 /// <summary>
 /// Usuwamy użytkowników, którzy od 5 minut nie zmienili swojego położenia.
 /// </summary>
 public static void DeleteAfks()
 {
     foreach (var item in MainWindow.MainWindowReference.CollectionOfUsers)
     {
         if (TimeSpan.Compare(DateTime.Now.Subtract(item.UserInfo.LastActivityTime), TimeSpan.FromMinutes(5)) > 1)
         {
             HandleMap.DeleteUserPin(item.UserInfo);
         }
     }
 }
        /// <summary>
        /// Logika przetwarzania wiadomości z Rabbita
        /// </summary>
        /// <param name="user">Wiadomość z Rabbita dotycząca użytkownika</param>
        public static void Handle(UserInfo user)
        {
            if (user.IsNew)
            {
                HandleMap.AddUserPin(user);
            }
            else if (user.IsUpdated)
            {
                if (MainWindow.MainWindowReference.CollectionOfUsers.Any(item => item.UserInfo.Nickname == user.Nickname))
                {
                    HandleMap.UpdateUserPin(user);
                }
                else
                {
                    HandleMap.AddUserPin(user);
                }
            }

            else if (user.IsLeaving)
            {
                HandleMap.DeleteUserPin(user);
            }
        }