/// <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); } }