private async Task QueryFollowers() { if (followerPage == 1) { if (FollowerUsers == null) { FollowerUsers = new ObservableCollection <FollowUser>(); } else { FollowerUsers.Clear(); } } UserContentProvider user = new UserContentProvider(); List <FollowUserInfo> result = await user.QueryFollowers(followerPage, currentUserId, GlobalValue.CurrentUserContext.UserId, GlobalValue.CurrentUserContext.MobileToken); result.ForEach(x => FollowerUsers.Add(ConvertToFollowUser(x))); followerPage++; if (FollowerUsers.Count <= 10 && followerPage == 2) { await QueryFollowers(); } }
private async void ExecuteFollowUserCommand(string userid) { FollowUser follower = FollowerUsers.FirstOrDefault(x => x.Id == userid); FollowUser following = FollowingUsers.FirstOrDefault(x => x.Id == userid); if (follower?.IsFollowing == true || following?.IsFollowing == true) { UserContentProvider user = new UserContentProvider(); FollowResult result = await user.UnFollowUser(userid, GlobalValue.CurrentUserContext.UserId, GlobalValue.CurrentUserContext.MobileToken); if (result.Error == null || result.Error.Count == 0) { if (follower != null) { follower.IsFollowing = false; } if (following != null) { following.IsFollowing = false; } } } else { UserContentProvider user = new UserContentProvider(); FollowResult result = await user.FollowUser(userid, GlobalValue.CurrentUserContext.UserId, GlobalValue.CurrentUserContext.MobileToken); if (result.Error == null || result.Error.Count == 0) { if (follower != null) { follower.IsFollowing = true; } if (following != null) { following.IsFollowing = true; } } } }