public async void LoadFriends(string username) { IsLoading = true; var friendManager = new FriendManager(); FriendsEntity friendEntity = await friendManager.GetFriendsList(username, Offset, BlockedPlayer, RecentlyPlayed, PersonalDetailSharing, FriendStatus, Requesting, Requested, OnlineFilter, UserAccountEntity); if (friendEntity == null) { return; } if (friendEntity.FriendList == null) { HasMoreItems = false; return; } foreach (FriendsEntity.Friend friend in friendEntity.FriendList) { Add(friend); } if (friendEntity.FriendList.Any()) { HasMoreItems = true; Offset = Offset += 32; } else { HasMoreItems = false; } IsLoading = false; }
public async void GetFriendsList(bool onlineFilter, bool blockedPlayer, bool recentlyPlayed, bool personalDetailSharing, bool friendStatus, bool requesting, bool requested) { LoadingProgressBar.Visibility = Visibility.Visible; var friendManager = new FriendManager(); FriendCollection = new InfiniteScrollingCollection { FriendList = new ObservableCollection <FriendsEntity.Friend>(), UserAccountEntity = App.UserAccountEntity, Offset = 32, OnlineFilter = onlineFilter, Requested = requested, Requesting = requesting, PersonalDetailSharing = personalDetailSharing, FriendStatus = friendStatus }; var items = await friendManager.GetFriendsList(_user.OnlineId, 0, blockedPlayer, recentlyPlayed, personalDetailSharing, friendStatus, requesting, requested, onlineFilter, App.UserAccountEntity); if (items == null) { LoadingProgressBar.Visibility = Visibility.Collapsed; FriendsMessageTextBlock.Visibility = Visibility.Visible; FriendsLongListSelector.DataContext = FriendCollection; return; } FriendsMessageTextBlock.Visibility = Visibility.Collapsed; FriendsMessageTextBlock.Visibility = !items.FriendList.Any() ? Visibility.Visible : Visibility.Collapsed; foreach (var item in items.FriendList) { FriendCollection.FriendList.Add(item); } FriendsLongListSelector.ItemRealized += friendList_ItemRealized; FriendsLongListSelector.DataContext = FriendCollection; LoadingProgressBar.Visibility = Visibility.Collapsed; }
public async Task <bool> CheckFriend(string pSNName) { int offset = 0; while (true) { var list = await _friendManager.GetFriendsList(_userAccountEntity.Entity.OnlineId, offset, false, false, false, true, false, false, false, _userAccountEntity); if (list.FriendList == null) { return(false); } offset = offset + list.FriendList.Count(); if (list.FriendList.Any(f => string.Equals(f.OnlineId, pSNName, StringComparison.OrdinalIgnoreCase))) { return(true); } if (offset >= list.TotalResults) { return(false); } } }
protected async override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); LoadingProgressBar.Visibility = Visibility.Visible; var user = App.UserAccountEntity.GetUserEntity(); var friendManager = new FriendManager(); FriendCollection = new InfiniteScrollingCollection { FriendList = new ObservableCollection <FriendsEntity.Friend>(), UserAccountEntity = App.UserAccountEntity, Offset = 32, OnlineFilter = false, Requested = true, Requesting = false, PersonalDetailSharing = false, FriendStatus = true }; var items = await friendManager.GetFriendsList(user.OnlineId, 0, false, false, false, true, false, true, false, App.UserAccountEntity); if (items == null) { return; } FriendsMessageTextBlock.Visibility = !items.FriendList.Any() ? Visibility.Visible : Visibility.Collapsed; foreach (FriendsEntity.Friend item in items.FriendList) { FriendCollection.FriendList.Add(item); } FriendsLongListSelector.ItemRealized += friendList_ItemRealized; FriendsLongListSelector.DataContext = FriendCollection; LoadingProgressBar.Visibility = Visibility.Collapsed; }
private async Task <LoadMoreItemsResult> LoadFriends(uint count) { IsLoading = true; try { var friendManager = new FriendManager(); await Shell.Instance.ViewModel.UpdateTokens(); var friendResultEntity = await friendManager.GetFriendsList(Username, Offset, BlockedPlayer, RecentlyPlayed, PersonalDetailSharing, FriendStatus, Requesting, Requested, OnlineFilter, Shell.Instance.ViewModel.CurrentTokens, Shell.Instance.ViewModel.CurrentUser.Region, Shell.Instance.ViewModel.CurrentUser.Language); var result = await ResultChecker.CheckSuccess(friendResultEntity, false); if (!result) { HasMoreItems = false; if (Count <= 0) { IsEmpty = true; } IsLoading = false; return(new LoadMoreItemsResult { Count = 0 }); } await AccountAuthHelpers.UpdateTokens(Shell.Instance.ViewModel.CurrentUser, friendResultEntity); var friendEntity = JsonConvert.DeserializeObject <FriendListResponse>(friendResultEntity.ResultJson); if (friendEntity == null) { HasMoreItems = false; if (Count <= 0) { IsEmpty = true; } IsLoading = false; return(new LoadMoreItemsResult { Count = count }); } if (friendEntity.Friend == null) { HasMoreItems = false; if (Count <= 0) { IsEmpty = true; } IsLoading = false; return(new LoadMoreItemsResult { Count = count }); } foreach (var friend in friendEntity.Friend) { Add(friend); } if (friendEntity.Friend.Any()) { HasMoreItems = true; Offset = Offset += 32; } else { HasMoreItems = false; if (Count <= 0) { IsEmpty = true; } } } catch (Exception ex) { HasMoreItems = false; } IsLoading = false; return(new LoadMoreItemsResult { Count = count }); }