/// <summary> /// In case a friend is removed from the friend list, we remove all broken transfers associated with him/her as well. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FriendListChangedHandler(object sender, FriendListChangedEventArgs e) { if (e.Action == FriendListChangedAction.Remove) { foreach (var entry in _futureAccesList.Entries) { var metadata = DeserializeMetadata(entry.Metadata); if (metadata.FriendNumber == e.FriendNumber) { _futureAccesList.Remove(entry.Token); } } } }
private void FriendListChangedHandler(object sender, FriendListChangedEventArgs e) { DispatcherHelper.CheckBeginInvokeOnUI( () => { switch (e.Action) { case FriendListChangedAction.Add: Friends.Add(new FriendViewModel(_dataService, e.FriendNumber)); return; case FriendListChangedAction.Remove: var friendToRemove = FindFriend(e.FriendNumber); if (friendToRemove == SelectedFriend) // It means that we just removed the currently selected friend. { // So select the one right above it: var indexOfFriend = Friends.IndexOf(friendToRemove); SelectedFriend = (indexOfFriend - 1) > 0 ? Friends[indexOfFriend - 1] : Friends[0]; // TODO: Handle case of removal of the last friend!!! } Friends.Remove(friendToRemove); return; case FriendListChangedAction.Reset: Friends.Clear(); foreach (var friendNumber in _toxModel.Friends) { Friends.Add(new FriendViewModel(_dataService, friendNumber)); } return; } }); }
private async void FriendListChangedHandler(object sender, FriendListChangedEventArgs e) { await SaveDataAsync(); FriendListChanged?.Invoke(this, e); }
/// <summary> /// In case a friend is removed from the friend list, we remove all broken transfers associated with him/her as well. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FriendListChangedHandler(object sender, FriendListChangedEventArgs e) { if (e.Action == FriendListChangedAction.Remove) { foreach (var entry in _futureAccesList.Entries) { var metadata = DeserializeMetadata(entry.Metadata); if (metadata.FriendNumber == e.FriendNumber) { _futureAccesList.Remove(entry.Token); } } } }