Exemplo n.º 1
0
        public FriendCollection GetFriends(Uri profileUrl)
        {
            var doc = DownloadContent(profileUrl, friendsPage);
            if (doc == null)
                return null;

            string username = GetUserNameFromDoc(doc);

            var friendsContainer = doc.SelectSingleNode("/friendsList/friends");

            var friendIds = GetFriendIdsFromPage(friendsContainer);

            var api = new SteamApi.SteamApiClient();
            api.Key = ConfigurationManager.AppSettings["Steam Api Key"];

            var friends = from friend in api.GetPlayerSummaries(friendIds.ToArray())
                          select new User
                          {
                              CommunityUrl = friend.ProfileUrl,
                              IconUrl = friend.AvatarMedium,
                              Id = friend.SteamId,
                              Username = friend.PersonaName,
                          };

            var toreturn = new FriendCollection(friends)
            {
                SteamId = username,
            };

            return toreturn;
        }
Exemplo n.º 2
0
        public void CollectFriends(string strUserSID, FriendCollection friends)
        {
            m_Logger.Log("Mocking CollectFriends Raised", Category.Info, Priority.None);

            Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, new ThreadStart(() =>
            {
                friends.Add(new Friend(null, "", "Paul", "Bye! See you!", TDD));
                friends.Add(new Friend(null, "", "Jacob", "Really?", CI));
                friends.Add(new Friend(null, "", "Michael", "When is your birthday?", CI));
                friends.Add(new Friend(null, "", "Alexander", "Oh, i see...", SA));
                friends.Add(new Friend(null, "", "William", "Anyway, i will get there", SE));
                friends.Add(new Friend(null, "", "Joshua", "Shut up!!!", DP));
                friends.Add(new Friend(null, "", "Daniel", "Can i see?", TDD));
                friends.Add(new Friend(null, "", "Jayden ", "i wanaa go home....ohoh", DP));
                friends.Add(new Friend(null, "", "Noah ", "tell me how am i supposed live without you..?", SA));
                friends.Add(new Friend(null, "", "Anthony", "Bye! bye...bye...", CI));
                friends.Add(new Friend(null, "", "Christopher", "i'm Crying now...", SE));
                friends.Add(new Friend(null, "", "Aiden", "Did you see that?", SA));
                friends.Add(new Friend(null, "", "Matthew", "Maybe. On september?", SE));
                friends.Add(new Friend(null, "", "David", "How are you David?", SA));
                friends.Add(new Friend(null, "", "Andrew", "Just 3 days remain..", DP));
                friends.Add(new Friend(null, "", "Joseph ", "Remember!", TDD));
                friends.Add(new Friend(null, "", "Logan", "Perfect! wonderful!!", CI));
                friends.Add(new Friend(null, "", "Ryan", "let me see your info..", SA));
            }));
        }
        public void CollectFriends(string strUserSID, FriendCollection friends)
        {
            try
            {
                var FriendsCollection = ConnectionHelper.DB.GetCollection <FriendsEntity>("FriendsEntity");
                var FindFriendsQuery  = Query <FriendsEntity> .EQ(f => f.UserSID, strUserSID);

                var FindedFriends = FriendsCollection.FindOne(FindFriendsQuery);

                if (null != FindedFriends)
                {
                    var UserCollection = ConnectionHelper.DB.GetCollection <UserEntity>("UserEntity");

                    Parallel.ForEach(FindedFriends.FriendSIDs, fSid =>
                    {
                        var FindUserQuery = Query <UserEntity> .EQ(u => u.Sid, fSid);
                        var FindedUser    = UserCollection.FindOne(FindUserQuery);

                        if (null != FindedUser)
                        {
                            Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, new ThreadStart(() =>
                            {
                                friends.Add(new Friend(FindedUser.ThumbnailPath, FindedUser.UserId, FindedUser.Sid, FindedUser.NickName, FindedUser.Comment));
                            }));
                        }
                    });
                }
            }
            catch (Exception unExpectedException)
            {
                GlobalLogger.Log(unExpectedException.Message);
            }
        }
Exemplo n.º 4
0
        public override FriendCollection GetFriendsHasImpressions(int userID, int pageNumber, int pageSize)
        {
            using (SqlQuery db = new SqlQuery())
            {
                db.Pager.TableName   = "bx_FriendsHasImpressions";
                db.Pager.SortField   = "FriendUserID";
                db.Pager.Condition   = "UserID = @UserID";
                db.Pager.PageNumber  = pageNumber;
                db.Pager.PageSize    = pageSize;
                db.Pager.SelectCount = true;

                db.CreateParameter <int>("@UserID", userID, SqlDbType.Int);

                using (XSqlDataReader reader = db.ExecuteReader())
                {
                    FriendCollection result = new FriendCollection(reader);

                    if (reader.NextResult() && reader.Read())
                    {
                        result.TotalRecords = reader.Get <int>(0);
                    }

                    return(result);
                }
            }
        }
Exemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            m_FriendUserIdsText = _Request.Get("uid");
            m_FriendUserIds = StringUtil.Split<int>(m_FriendUserIdsText, ',');

            if (_Request.IsClick("movefriend"))
            {
                Move();
            }

            using (ErrorScope es = new ErrorScope())
            {
                m_FriendListToMove = FriendBO.Instance.GetFriends(MyUserID, m_FriendUserIds);

                WaitForFillSimpleUsers<Friend>(m_FriendListToMove);

                if (es.HasUnCatchedError)
                {
                    es.CatchError<ErrorInfo>(delegate(ErrorInfo error)
                    {
                        ShowError(error);
                        return;
                    });
                }
            }
        }
Exemplo n.º 6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            m_FriendUserIdsText = _Request.Get("uid");
            m_FriendUserIds     = StringUtil.Split <int>(m_FriendUserIdsText, ',');

            if (_Request.IsClick("movefriend"))
            {
                Move();
            }

            using (ErrorScope es = new ErrorScope())
            {
                m_FriendListToMove = FriendBO.Instance.GetFriends(MyUserID, m_FriendUserIds);

                WaitForFillSimpleUsers <Friend>(m_FriendListToMove);

                if (es.HasUnCatchedError)
                {
                    es.CatchError <ErrorInfo>(delegate(ErrorInfo error)
                    {
                        ShowError(error);
                        return;
                    });
                }
            }
        }
Exemplo n.º 7
0
        public void Setup()
        {
            friendListView.Clear();
            FriendCollection friends = engine.GetService <INetService>().FriendRequest.Friends;

            SocialFriendListView.ListViewData listData = new ListView <NetPlayer> .ListViewData {
                dataList = friends.Friends.Cast <NetPlayer>().ToList()
            };
            friendListView.Setup(listData);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 处理朋友的消息.
        /// </summary>
        /// <param name="qq"></param>
        /// <param name="data"></param>
        void DealFriend(string qq, FriendMessageData data)
        {
            try
            {
                if (QQMangers.FriendList.ContainsKey(qq))
                {
                    FriendCollection c = QQMangers.FriendList[qq];
                    Friend           f = c.FindByUin(data.FromUin);
                    string           qqnumber;
                    if (f != null)
                    {
                        qqnumber = f.QQNumber;
                        //闪动 qq

                        //转换文本.
                        StringBuilder sb = new StringBuilder();
                        foreach (var item in data.Content)
                        {
                            sb.Append(item);
                        }
                        string text = sb.ToString();
                        //
                        listBoxNewMessage.QueueInvoke <ChatMessage>((item) => MessageIn(item),
                                                                    new ChatMessage()
                        {
                            Title = "{1}({0})".FormatWith(qqnumber, f.NikeName), Text = text, Friend = f, Uin = qq
                        });
                        text = "{3}({2}) {1}\r\n{0}".FormatWith(text, DateTime.Now.ToString(), qqnumber, f.NikeName);
                        if (_CurrentQQ == qq && _CurrentFriend.Uin == data.FromUin)
                        {
                            textMessage.QueueInvoke <string>((item) =>
                            {
                                textMessage.AppendText(item);
                                textMessage.ScrollToCaret();
                            }, text);

                            if (_IsHistoryFriend)
                            {
                                richMessageHistory.QueueInvoke <string>((item) =>
                                {
                                    richMessageHistory.AppendText(item);
                                }, text);
                            }
                        }


                        _MsgRecord.Add(qq, qqnumber, text);
                    }
                }
            }
            catch (Exception ex)
            {
                Loger.WriteLog(ex);
            }
        }
Exemplo n.º 9
0
        public FriendsMainViewModel(ILoggerFacade logger)
        {
            if (null == logger)
            {
                throw new ArgumentNullException("logger");
            }

            this.m_Logger           = logger;
            this.HeaderNotification = this.Friends = new FriendCollection();
            this.InitializeHeaderImages();
        }
Exemplo n.º 10
0
        public void LoadLeaderboard(Leaderboard board, FriendCollection friends, Gamer gamer)
        {
            LeaderboardIdentity identity = LeaderboardInfo.GetIdentity(board);

            Request    = LeaderboardReader.BeginRead(identity, friends, gamer, friends.Count + 1, null, gamer);
            Reader     = null;
            ReadState  = AsyncRequest.FullRead;
            NumEntries = 0;
            ResetCaches();
            Columns         = LeaderboardInfo.GetColumns(board);
            LeaderboardName = LeaderboardInfo.GetName(board);
        }
Exemplo n.º 11
0
        private void Delete()
        {
            MessageDisplay msgDisplay = CreateMessageDisplay();

            bool deleteFriends = _Request.Get <int>("deleteFriends", Method.Post, 1) == 1;

            int friendGroupID = _Request.Get <int>("ToFriendGroupID", Method.Post, -1);

            if (deleteFriends == false && friendGroupID == -1)
            {
                msgDisplay.AddError("请选择要移动到的好友分组");
                return;
            }
            bool success = false;

            try
            {
                using (ErrorScope es = new ErrorScope())
                {
                    if (deleteFriends == false)
                    {
                        FriendCollection friends = FriendBO.Instance.GetFriends(MyUserID, Group.GroupID);
                        success = FriendBO.Instance.MoveFriends(MyUserID, friends.GetKeys(), friendGroupID);
                        if (success)
                        {
                            success = FriendBO.Instance.DeleteFriendGroup(MyUserID, m_GroupID, deleteFriends);
                        }
                    }
                    else
                    {
                        success = FriendBO.Instance.DeleteFriendGroup(MyUserID, m_GroupID, deleteFriends);
                    }

                    if (success == false)
                    {
                        es.CatchError <ErrorInfo>(delegate(ErrorInfo error)
                        {
                            msgDisplay.AddError(error);
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                msgDisplay.AddException(ex);
            }

            if (success)
            {
                Return("deletedGroupID", m_GroupID);
            }
        }
Exemplo n.º 12
0
        public static DataForNewUser GetDataForNewUser(AuthUser user)
        {
            if (user == null || user == User.Guest)
            {
                return(null);
            }

            DataForNewUser userDataProxy = new DataForNewUser();

            ConvertUserProxy(userDataProxy, user);

            userDataProxy.GenderName     = user.GenderName;
            userDataProxy.ExtendedFields = new List <UserExtendedValueProxy>();

            foreach (UserExtendedValue extendedValue in user.ExtendedFields)
            {
                userDataProxy.ExtendedFields.Add(GetUserExtendedValueProxy(extendedValue));
            }

            userDataProxy.IPAddress       = user.LastVisitIP;
            userDataProxy.IsActive        = user.IsActive;
            userDataProxy.Password        = user.Password;
            userDataProxy.PasswordFormat  = (int)user.PasswordFormat;
            userDataProxy.Signature       = user.Signature;
            userDataProxy.SignatureFormat = (int)user.SignatureFormat;
            userDataProxy.TimeZone        = user.TimeZone;
            userDataProxy.InviterID       = user.InviterID;

            //getfriend

            FriendGroupCollection friendgroups = user.FriendGroups;

            userDataProxy.FriendGroups = new List <MaxLabs.Passport.Proxy.FriendGroupProxy>();

            foreach (FriendGroup fg in friendgroups)
            {
                MaxLabs.Passport.Proxy.FriendGroupProxy fgp = GetFriendGroupProxy(fg);
                userDataProxy.FriendGroups.Add(fgp);
                FriendCollection friends = FriendBO.Instance.GetFriends(user.UserID, fg.GroupID);

                foreach (MaxLabs.bbsMax.Entities.Friend friend in friends)
                {
                    fgp.Friends.Add(GetFriendProxy(friend));
                }
            }

            //getExtendedFields
            //userDataProxy.ExtendedFields = GetStringKeyValueList(user.ExtendedFields);

            return(userDataProxy);
        }
Exemplo n.º 13
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            //AddNavigationItem("好友", BbsRouter.GetUrl("my/friends"));
            AddNavigationItem("好友印象");

            if (_Request.IsClick("query"))
            {
                Query();
                return;
            }

            m_GroupID    = _Request.Get <int>("groupid", Method.Get);
            m_PageNumber = _Request.Get <int>("page", Method.Get, 1);
            m_PageSize   = Consts.DefaultPageSize;


            if (m_GroupID != null)
            {
                m_CurrentGroup = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID.Value);

                if (m_CurrentGroup == null)
                {
                    m_GroupID = null;
                }
            }

            if (m_GroupID == null)
            {
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_PageNumber, m_PageSize);
            }

            else
            {
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_GroupID.Value, m_PageNumber, m_PageSize);
            }

            //填充FriendList的用户资料
            this.WaitForFillSimpleUsers <Friend>(m_FriendList);

            List <int> userids = new List <int>();

            foreach (Friend firend in m_FriendList)
            {
                userids.Add(firend.UserID);
            }

            m_ImpressionData = ImpressionBO.Instance.GetTopImressionTypesForUsers(userids.ToArray(), 12);

            SetPager("pager1", null, m_PageNumber, PageSize, m_FriendList.TotalRecords);
        }
Exemplo n.º 14
0
        public List <FriendGroupProxy> Friend_GetFriendGroupsWithFriends(int userID)
        {
            if (!CheckClient())
            {
                return(null);
            }
            List <FriendGroupProxy> groups     = new List <FriendGroupProxy>();
            FriendGroupCollection   temp       = FriendBO.Instance.GetFriendGroups(userID);
            FriendGroupProxy        blackGroup = new FriendGroupProxy();

            blackGroup.GroupID = -1;
            blackGroup.Name    = "#black list";



            FriendCollection friends = FriendBO.Instance.GetFriendAndBlackList(userID);

            foreach (BlacklistItem b in friends.Blacklist)
            {
                FriendProxy fItem = new FriendProxy();
                fItem.GroupID = b.GroupID;
                fItem.UserID  = b.UserID;
                blackGroup.Friends.Add(fItem);
            }

            foreach (FriendGroup fg in temp)
            {
                groups.Add(ProxyConverter.GetFriendGroupProxy(fg));
            }

            while (friends.Count > 0)
            {
                Friend      friend = friends[friends.Count - 1];
                FriendProxy fp     = ProxyConverter.GetFriendProxy(friend);

                foreach (FriendGroupProxy proxy in groups)
                {
                    if (proxy.GroupID == friend.GroupID)
                    {
                        proxy.Friends.Add(fp);
                    }
                }

                friends.Remove(friend);
            }
            groups.Add(blackGroup);

            return(groups);
        }
Exemplo n.º 15
0
        public static void FindSessionsThread()
        {
            NetworkSessionProperties networkSessionProperties = new NetworkSessionProperties();
            UI main = UI.main;

            if (main.HasOnline())
            {
                SignedInGamer signedInGamer = main.signedInGamer;
                if (signedInGamer != null)
                {
                    try
                    {
                        List <SignedInGamer> list = new List <SignedInGamer>(1);
                        list.Add(signedInGamer);
                        FriendCollection friends = signedInGamer.GetFriends();
                        int num = friends.Count - 1;
                        while (num >= 0 && !stopSessionFinderThread)
                        {
                            FriendGamer friendGamer = friends[num];
                            if (friendGamer.IsJoinable)
                            {
                                ulong xuid = friendGamer.GetXuid();
                                networkSessionProperties[0] = (int)xuid;
                                networkSessionProperties[1] = (int)(xuid >> 32);
                                AvailableNetworkSessionCollection availableNetworkSessionCollection = NetworkSession.Find(NetworkSessionType.PlayerMatch, list, networkSessionProperties);
                                if (availableNetworkSessionCollection.Count > 0)
                                {
                                    lock (availableSessions)
                                    {
                                        availableSessions.Add(new JoinableSession(availableNetworkSessionCollection[0]));
                                    }
                                }
                                if (stopSessionFinderThread)
                                {
                                    break;
                                }
                                Thread.Sleep(5000);
                            }
                            num--;
                        }
                    }
                    catch (Exception)
                    {
                    }
                }
            }
            stopSessionFinderThread = false;
            sessionFinderThread     = null;
        }
Exemplo n.º 16
0
        public List <FriendProxy> Friend_GetFriends(int userID)
        {
            if (!CheckClient())
            {
                return(null);
            }
            List <FriendProxy> friends = new List <FriendProxy>();
            FriendCollection   temp    = FriendBO.Instance.GetFriends(userID);

            foreach (Friend friend in temp)
            {
                friends.Add(ProxyConverter.GetFriendProxy(friend));
            }

            return(friends);
        }
Exemplo n.º 17
0
        /// <summary>
        /// 获取好友列表.
        /// </summary>
        /// <param name="qqNumber">指定QQ号码</param>
        public void GetFriend(string qqNumber)
        {
            try
            {
                FriendCollection list;
                if (_FriendMap.ContainsKey(qqNumber))
                {
                    list = _FriendMap[qqNumber];
                }
                else
                {
                    list = new FriendCollection();
                    _FriendMap.Add(qqNumber, list);
                }
                if (_QQMap.ContainsKey(qqNumber))
                {
                    WebQQ qq = _QQMap[qqNumber];

                    if (AddFatherQQ != null)
                    {
                        AddFatherQQ(qqNumber, qq.NickName);
                    }
                    UserFriend uf = qq.GetUserFriends();
                    if (uf != null && uf.Result != null && uf.Result.Info != null)
                    {
                        foreach (var item in uf.Result.Info)
                        {
                            string number = qq.GetQQNumber(item.Uin.ToString());
                            Friend f      = new Friend(qqNumber, number)
                            {
                                Uin      = item.Uin.ToString(),
                                NikeName = item.Nick,
                            };
                            list.Add(f);
                            if (AddFriend != null)
                            {
                                AddFriend(f);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Loger.WriteLog(ex);
            }
        }
Exemplo n.º 18
0
        /// <summary>
        /// 处理添加朋友的界面显示.
        /// </summary>
        /// <param name="obj"></param>
        private void AddFriend(Friend obj)
        {
            try
            {
                //找到FatherQQ,再添加一个朋友.
                foreach (ChatListItem item in FriendList.Items)
                {
                    if (item.Value == obj.FatherNumber)
                    {
                        ChatListSubItem sitem = new ChatListSubItem(obj.NikeName);
                        //sitem.ID = int.Parse(obj.QQNumber);
                        sitem.DisplayName = obj.QQNumber;

                        sitem.Info = obj;
                        item.SubItems.Add(sitem);
                        return;
                    }
                }

                //没有找到FatherQQ帐号,意味着没有该项,先添加FatherQQ.再添加一个朋友.
                ChatListItem citem = new ChatListItem(obj.FatherNumber);
                citem.Text  = obj.FatherNumber;
                citem.Value = obj.FatherNumber;

                ChatListSubItem subitem = new ChatListSubItem(obj.NikeName);
                subitem.DisplayName = obj.QQNumber;
                subitem.Info        = obj;
                citem.SubItems.Add(subitem);
                FriendList.Items.Add(citem);

                //更新 重点qq对象.
                if (_Settings.MajorFriendMap.ContainsKey(obj.FatherNumber))
                {
                    FriendCollection coll = _Settings.MajorFriendMap[obj.FatherNumber];
                    foreach (var item in coll)
                    {
                        AddMajorFriend(item);
                    }
                }
            }
            catch (Exception ex)
            {
                Loger.WriteLog(ex);
            }
        }
Exemplo n.º 19
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            //AddNavigationItem("好友", BbsRouter.GetUrl("my/friends"));
            AddNavigationItem("好友印象");

            if (_Request.IsClick("query"))
            {
                Query();
                return;
            }

            m_GroupID = _Request.Get<int>("groupid", Method.Get);
            m_PageNumber = _Request.Get<int>("page", Method.Get, 1);
            m_PageSize = Consts.DefaultPageSize;


            if (m_GroupID != null)
            {
                m_CurrentGroup = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID.Value);

                if (m_CurrentGroup == null)
                    m_GroupID = null;
            }

            if (m_GroupID == null)
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_PageNumber, m_PageSize);

            else
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_GroupID.Value, m_PageNumber, m_PageSize);

            //填充FriendList的用户资料
            this.WaitForFillSimpleUsers<Friend>(m_FriendList);

            List<int> userids = new List<int>();

            foreach(Friend firend in m_FriendList)
            {
                userids.Add(firend.UserID);
            }

            m_ImpressionData = ImpressionBO.Instance.GetTopImressionTypesForUsers(userids.ToArray(), 12);

            SetPager("pager1", null, m_PageNumber, PageSize, m_FriendList.TotalRecords);
        }
Exemplo n.º 20
0
        private void friendList_ItemRealized(object sender, ItemRealizationEventArgs e)
        {
            if (FriendCollection.IsLoading || !FriendCollection.HasMoreItems ||
                FriendsLongListSelector.ItemsSource == null || FriendsLongListSelector.ItemsSource.Count < OffsetKnob)
            {
                return;
            }
            if (e.ItemKind != LongListSelectorItemKind.Item)
            {
                return;
            }
            var friend = e.Container.Content as FriendsEntity.Friend;

            if (friend != null &&
                friend.Equals(
                    FriendsLongListSelector.ItemsSource[FriendsLongListSelector.ItemsSource.Count - OffsetKnob]))
            {
                FriendCollection.LoadFriends(_user.OnlineId);
            }
        }
Exemplo n.º 21
0
        void QQMangers_AddFatherQQ(string fatherQQ, string nickName)
        {
            FriendList.QueueInvoke(() =>
            {
                //当获取到QQ昵称时,在朋友列表添加 一个QQ帐号.
                ChatListItem citem = new ChatListItem(fatherQQ);
                citem.Text         = string.Format("{0}({1})", fatherQQ, nickName);
                citem.Value        = fatherQQ;
                FriendList.Items.Add(citem);

                //更新 重点qq对象.
                if (_Settings.MajorFriendMap.ContainsKey(fatherQQ))
                {
                    FriendCollection coll = _Settings.MajorFriendMap[fatherQQ];
                    foreach (var item in coll)
                    {
                        AddMajorFriend(item);
                    }
                }
            }
                                   );
        }
Exemplo n.º 22
0
        private void LoadLeaderboard()
        {
            switch (mode)
            {
            case LeaderboardMode.MyScore:
                Data.LoadLeaderboard(SelectedLeaderboard, parentUI.signedInGamer);
                break;

            case LeaderboardMode.Friends:
            {
                SignedInGamer    signedInGamer = parentUI.signedInGamer;
                FriendCollection friends       = signedInGamer.GetFriends();
                Data.LoadLeaderboard(SelectedLeaderboard, friends, signedInGamer);
                break;
            }

            default:
                Data.LoadLeaderboard(SelectedLeaderboard);
                break;
            }
            CalculateStatisticPositions();
        }
Exemplo n.º 23
0
        private void GetMajorFriend()
        {
            _Settings.MajorFriendMap.Clear();
            FriendCollection coll;

            foreach (ChatListItem item in MajorFriendList.Items)
            {
                coll = new FriendCollection();
                foreach (ChatListSubItem sitem in item.SubItems)
                {
                    coll.Add(sitem.Info);
                }
                //
                if (_Settings.MajorFriendMap.ContainsKey(item.Value))
                {
                    _Settings.MajorFriendMap[item.Value] = coll;
                }
                else
                {
                    _Settings.MajorFriendMap.Add(item.Value, coll);
                }
            }
        }
Exemplo n.º 24
0
		public FriendCollection GetFriends ()
		{
			if (IsSignedInToLive) {
				if (friendCollection == null) {
					friendCollection = new FriendCollection ();
				}
			}

			return friendCollection;
		}
Exemplo n.º 25
0
	protected void Page_Load(object sender, EventArgs e)
	{
		int? clubID = _Request.Get<int>("id");

		if (clubID.HasValue)
		{
			ClubMemberStatus? status = ClubBO.Instance.GetClubMemberStatus(clubID.Value, MyUserID);

			if (status == null || status.Value == ClubMemberStatus.Invited || status.Value == ClubMemberStatus.WaitForApprove)
				ShowError("不是群组成员");

			if (_Request.IsClick("send"))
			{
				using (ErrorScope es = new ErrorScope())
				{
					MessageDisplay md = CreateMessageDisplay();

					string[] ids = _Request.Get("uid", Method.Post, string.Empty).Split(',');

					if (ids.Length == 1 && ids[0] == string.Empty)
						md.AddError("请至少选择一个好友");
					else
					{
						int[] userIDs = new int[ids.Length];

						for (int i = 0; i < ids.Length; i++)
						{
							userIDs[i] = int.Parse(ids[i]);
						}

						if (ClubBO.Instance.InviteClubMembers(My, clubID.Value, userIDs))
						{
                            BbsRouter.JumpToCurrentUrl();// (BbsRouter.GetCurrentUrl());
						}
						else
						{
							es.CatchError<ErrorInfo>(delegate(ErrorInfo error)
							{
								md.AddError(error);
							});
						}
					}
				}
			}

			m_GroupID = _Request.Get<int>("groupid", Method.Get);
			m_PageNumber = _Request.Get<int>("page", Method.Get, 1);
			m_PageSize = MaxLabs.bbsMax.Consts.DefaultPageSize;
			
			if (m_GroupID != null)
			{
				m_CurrentGroup = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID.Value);

				if (m_CurrentGroup == null)
					m_GroupID = null;
			}

			if (m_GroupID == null)
				m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_PageNumber, m_PageSize);
			else
				m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_GroupID.Value, m_PageNumber, m_PageSize);

			//填充FriendList的用户资料
			this.WaitForFillSimpleUsers<Friend>(m_FriendList);
		}
		else
		{
			ShowError("群组不存在");
		}
	}
Exemplo n.º 26
0
 public static void OnFriendsUpdated(FriendCollection friends)
 {
     FriendsUpdated?.Invoke(friends);
 }
Exemplo n.º 27
0
 public FriendCollection GetFriends()
 {
   if (this.IsSignedInToLive && this.friendCollection == null)
     this.friendCollection = new FriendCollection();
   return this.friendCollection;
 }
Exemplo n.º 28
0
        void Start()
        {
            Imvu.Login().Then(
                userModel => userModel != null ? userModel.GetFriends(10) : new Promise<FriendCollection, Error>(new Error("User refused to login", "FLL-1"))
            ).Then(
                friendCollection => {
                    friendCollection.add += OnAdd;
                    friends = friendCollection;
                    pageStart = 0;
                    pageCount = friendCollection.info.items.Count;
                    totalCount = friendCollection.info.totalCount;

                    BuildList();
                }
            ).Catch(
                err => Debug.Log(err)
            );
        }
Exemplo n.º 29
0
        public override FriendCollection GetFriendsHasImpressions(int userID, int pageNumber, int pageSize)
        {
            using (SqlQuery db = new SqlQuery())
            {
                db.Pager.TableName = "bx_FriendsHasImpressions";
                db.Pager.SortField = "FriendUserID";
                db.Pager.Condition = "UserID = @UserID";
                db.Pager.PageNumber = pageNumber;
                db.Pager.PageSize = pageSize;
                db.Pager.SelectCount = true;

                db.CreateParameter<int>("@UserID", userID, SqlDbType.Int);

                using (XSqlDataReader reader = db.ExecuteReader())
                {
                    FriendCollection result = new FriendCollection(reader);

                    if (reader.NextResult() && reader.Read())
                    {
                        result.TotalRecords = reader.Get<int>(0);
                    }

                    return result;
                }
            }
        }
Exemplo n.º 30
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            AddNavigationItem("好友");

            if (_Request.IsClick("query"))
            {
                Query();
                return;
            }
            else if (_Request.IsClick("addgroup"))
            {
                MessageDisplay msgDisplay = CreateMessageDisplay();

                string groupName = _Request.Get("groupName", Method.Post);//"!"号作为特殊标记

                //bool success = false;
                int newGroupID = 0;
                try
                {
                    using (ErrorScope es = new ErrorScope())
                    {
                        newGroupID = FriendBO.Instance.AddFriendGroup(MyUserID, groupName);

                        if (newGroupID == 0)
                        {
                            es.CatchError<ErrorInfo>(delegate(ErrorInfo error)
                            {
                                AlertError(error.Message);
                                msgDisplay.AddError(error);
                            });
                        }
                    }
                }
                catch (Exception ex)
                {
                    AlertError(ex.Message);
                    msgDisplay.AddException(ex);
                }
            }

            m_GroupID = _Request.Get<int>("groupid", Method.Get);
            m_PageNumber = _Request.Get<int>("page", Method.Get, 1);
            m_PageSize = Consts.DefaultPageSize;


            if (m_GroupID != null)
            {
                m_CurrentGroup = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID.Value);

                if (m_CurrentGroup == null)
                    m_GroupID = null;
            }

            if (m_GroupID == null)
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_PageNumber, m_PageSize);

            else
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_GroupID.Value, m_PageNumber, m_PageSize);

            //填充FriendList的用户资料
            this.WaitForFillSimpleUsers<Friend>(m_FriendList);

            SetPager("pager1", null, m_PageNumber, PageSize, m_FriendList.TotalRecords);
        }
Exemplo n.º 31
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int?clubID = _Request.Get <int>("id");

        if (clubID.HasValue)
        {
            ClubMemberStatus?status = ClubBO.Instance.GetClubMemberStatus(clubID.Value, MyUserID);

            if (status == null || status.Value == ClubMemberStatus.Invited || status.Value == ClubMemberStatus.WaitForApprove)
            {
                ShowError("不是群组成员");
            }

            if (_Request.IsClick("send"))
            {
                using (ErrorScope es = new ErrorScope())
                {
                    MessageDisplay md = CreateMessageDisplay();

                    string[] ids = _Request.Get("uid", Method.Post, string.Empty).Split(',');

                    if (ids.Length == 1 && ids[0] == string.Empty)
                    {
                        md.AddError("请至少选择一个好友");
                    }
                    else
                    {
                        int[] userIDs = new int[ids.Length];

                        for (int i = 0; i < ids.Length; i++)
                        {
                            userIDs[i] = int.Parse(ids[i]);
                        }

                        if (ClubBO.Instance.InviteClubMembers(My, clubID.Value, userIDs))
                        {
                            BbsRouter.JumpToCurrentUrl();// (BbsRouter.GetCurrentUrl());
                        }
                        else
                        {
                            es.CatchError <ErrorInfo>(delegate(ErrorInfo error)
                            {
                                md.AddError(error);
                            });
                        }
                    }
                }
            }

            m_GroupID    = _Request.Get <int>("groupid", Method.Get);
            m_PageNumber = _Request.Get <int>("page", Method.Get, 1);
            m_PageSize   = MaxLabs.bbsMax.Consts.DefaultPageSize;

            if (m_GroupID != null)
            {
                m_CurrentGroup = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID.Value);

                if (m_CurrentGroup == null)
                {
                    m_GroupID = null;
                }
            }

            if (m_GroupID == null)
            {
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_PageNumber, m_PageSize);
            }
            else
            {
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_GroupID.Value, m_PageNumber, m_PageSize);
            }

            //填充FriendList的用户资料
            this.WaitForFillSimpleUsers <Friend>(m_FriendList);
        }
        else
        {
            ShowError("群组不存在");
        }
    }
Exemplo n.º 32
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            AddNavigationItem("好友");

            if (_Request.IsClick("query"))
            {
                Query();
                return;
            }
            else if (_Request.IsClick("addgroup"))
            {
                MessageDisplay msgDisplay = CreateMessageDisplay();

                string groupName = _Request.Get("groupName", Method.Post);//"!"号作为特殊标记

                //bool success = false;
                int newGroupID = 0;
                try
                {
                    using (ErrorScope es = new ErrorScope())
                    {
                        newGroupID = FriendBO.Instance.AddFriendGroup(MyUserID, groupName);

                        if (newGroupID == 0)
                        {
                            es.CatchError <ErrorInfo>(delegate(ErrorInfo error)
                            {
                                AlertError(error.Message);
                                msgDisplay.AddError(error);
                            });
                        }
                    }
                }
                catch (Exception ex)
                {
                    AlertError(ex.Message);
                    msgDisplay.AddException(ex);
                }
            }

            m_GroupID    = _Request.Get <int>("groupid", Method.Get);
            m_PageNumber = _Request.Get <int>("page", Method.Get, 1);
            m_PageSize   = Consts.DefaultPageSize;


            if (m_GroupID != null)
            {
                m_CurrentGroup = FriendBO.Instance.GetFriendGroup(MyUserID, m_GroupID.Value);

                if (m_CurrentGroup == null)
                {
                    m_GroupID = null;
                }
            }

            if (m_GroupID == null)
            {
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_PageNumber, m_PageSize);
            }

            else
            {
                m_FriendList = FriendBO.Instance.GetFriends(MyUserID, m_GroupID.Value, m_PageNumber, m_PageSize);
            }

            //填充FriendList的用户资料
            this.WaitForFillSimpleUsers <Friend>(m_FriendList);

            SetPager("pager1", null, m_PageNumber, PageSize, m_FriendList.TotalRecords);
        }
Exemplo n.º 33
0
		public FriendCollection GetFriends()
		{
			if(IsSignedInToLive)
			{
				if ( friendCollection == null )
				{
					friendCollection = new FriendCollection();
				}
				
				lp.LoadFriends( delegate (string[] FriendsList, NSError error )
				               	{
									foreach(string Friend in FriendsList)
									{
										friendCollection.Add( new FriendGamer(){Gamertag = Friend} );
									}
				});
			}
			
			return friendCollection;
		}
Exemplo n.º 34
0
        public void ProcessRequest()
        {
            AuthUser my = My;
            int      friendGroupID;
            bool     useDefault = _Request.Get("default", Method.Get, "").ToLower() == "true";

            if (useDefault)
            {
                friendGroupID = my.SelectFriendGroupID;
            }
            else
            {
                friendGroupID = _Request.Get <int>("groupid", Method.Get, -1);
            }

            if (my.SelectFriendGroupID != friendGroupID)
            {
                my.SelectFriendGroupID = friendGroupID;
                try
                {
                    UserBO.Instance.UpdateUserSelectFriendGroupID(my, friendGroupID);
                }
                catch (Exception ex)
                {
                    LogHelper.CreateErrorLog(ex);
                }
            }

            List <int>       currentGroupUserIDs = new List <int>();
            FriendCollection friends             = FriendBO.Instance.GetFriends(my.UserID);

            Dictionary <int, int> onlineCount = new Dictionary <int, int>();

            foreach (Friend friend in friends)
            {
                if (friend.GroupID == friendGroupID)
                {
                    currentGroupUserIDs.Add(friend.UserID);
                    if (friend.GroupID == my.SelectFriendGroupID)
                    {
                        FriendList.Add(friend);
                    }
                }

#if !Passport
                if (friend.IsOnline)
                {
                    if (onlineCount.ContainsKey(friend.GroupID))
                    {
                        onlineCount[friend.GroupID] += 1;
                    }
                    else
                    {
                        onlineCount.Add(friend.GroupID, 1);
                    }
                }
#endif
            }

            foreach (FriendGroup group in my.FriendGroups)
            {
                int count;
                if (
                    onlineCount.TryGetValue(group.GroupID, out count))
                {
                    group.OnlineCount = count;
                }
                group.IsSelect = group.GroupID == my.SelectFriendGroupID;
            }

            UserBO.Instance.FillSimpleUsers <Friend>(this.FriendList);

            //SimpleUserCollection users = UserBO.Instance.GetSimpleUsers(currentGroupUserIDs, GetUserOption.Default);
        }
Exemplo n.º 35
0
 private void OnFriendsUpdated(FriendCollection friends)
 {
     Setup();
 }