/// <summary> /// 获取推荐好友列表。 /// </summary> /// <param name="count">获取数据量(默认20,最大20)</param> /// <returns></returns> public RecommendFriends GetRecommendFriends(int count = 20) { if (count > 20) { throw new YbException("最大显示推荐好友数为20"); } var request = CreateRequest(RestSharp.Method.GET, "friend/recommend"); request.AddParameter("access_token", context.Token.access_token, RestSharp.ParameterType.QueryString); request.AddParameter("count", count, RestSharp.ParameterType.QueryString); var response = restClient.Execute(request); if (CheckError(response)) { throw GenerateError(response); } RecommendFriends result = null; try { result = Deserialize <RecommendFriends>(response.Content); } catch (System.InvalidOperationException) { result = new RecommendFriends() { status = "success", info = new RecommendFriends.Info() }; return(result); } return(result); }
private void ExecuteAddFriendCommand(string strRecommendUserSid) { if (true == string.IsNullOrEmpty(strRecommendUserSid)) { return; } Task.Run(() => { var TargetFriend = this.m_RecommendFriends.FirstOrDefault(r => r.UserSID == strRecommendUserSid); Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, new ThreadStart(() => { RecommendFriends.Remove(TargetFriend); })); if (true == this.m_AddFriendService.AddFriend(AuthRepository.MQKeyInfo.UserSid, strRecommendUserSid)) { try { var AddFriend = this.m_GetUserInfoService.GetUserInfo(strRecommendUserSid); if (null != AddFriend) { var UserCollection = ConnectionHelper.DB.GetCollection <UserEntity>("UserEntity"); var FindUserQuery = Query <UserEntity> .EQ(u => u.Sid, strRecommendUserSid); var FindedUser = UserCollection.FindOne(FindUserQuery); if (null == FindedUser) { UserCollection.Save(AddFriend); } } var FindFriendQuery = Query <FriendsEntity> .EQ(u => u.UserSID, AuthRepository.MQKeyInfo.UserSid); var FriendsCollection = ConnectionHelper.DB.GetCollection <FriendsEntity>("FriendsEntity"); var FindedFriend = FriendsCollection.FindOne(FindFriendQuery); if (null != FindedFriend) { if (false == FindedFriend.FriendSIDs.Contains(strRecommendUserSid)) { FindedFriend.FriendSIDs.Add(strRecommendUserSid); var UpdateQuery = Update <FriendsEntity> .Set(f => f.FriendSIDs, FindedFriend.FriendSIDs); FriendsCollection.Update(FindFriendQuery, UpdateQuery); Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, new ThreadStart(() => { this.m_FriendsMainViewModel.Friends.Add(new Friend(AddFriend.ThumbnailPath, AddFriend.UserId, AddFriend.Sid, AddFriend.NickName, AddFriend.Comment)); })); } } } catch (Exception unExpectedException) { GlobalLogger.Log(unExpectedException.Message); } } }); }