Exemple #1
0
        private void AssertViews(Guid?fromId, PersonalViews expectedViews, params Member[] members)
        {
            var views = _memberViewsQuery.GetPersonalViews(fromId, from m in members select m.Id);

            foreach (var member in members)
            {
                Assert.AreEqual(expectedViews[member.Id].EffectiveContactDegree, views[member.Id].EffectiveContactDegree);
                Assert.AreEqual(expectedViews[member.Id].ActualContactDegree, views[member.Id].ActualContactDegree);
            }

            views = _memberViewsQuery.GetPersonalViews(fromId, members);
            foreach (var member in members)
            {
                Assert.AreEqual(expectedViews[member.Id].EffectiveContactDegree, views[member.Id].EffectiveContactDegree);
                Assert.AreEqual(expectedViews[member.Id].ActualContactDegree, views[member.Id].ActualContactDegree);
            }

            foreach (var member in members)
            {
                var view = _memberViewsQuery.GetPersonalView(fromId, member.Id);
                Assert.AreEqual(expectedViews[member.Id].EffectiveContactDegree, view.EffectiveContactDegree);
                Assert.AreEqual(expectedViews[member.Id].ActualContactDegree, view.ActualContactDegree);

                view = _memberViewsQuery.GetPersonalView(fromId, member);
                Assert.AreEqual(expectedViews[member.Id].EffectiveContactDegree, view.EffectiveContactDegree);
                Assert.AreEqual(expectedViews[member.Id].ActualContactDegree, view.ActualContactDegree);
            }
        }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            // Choose a random set of friends to show, favouring those with photos.

            IList <Guid> friends = null;

            if (_friendsOwner != null)
            {
                friends = _memberContactsQuery.GetFirstDegreeContacts(_friendsOwner.Id, true).Randomise().Take(MaxFriendsToShow).ToList();
                if (friends.Count < MaxFriendsToShow)
                {
                    friends = friends.Concat(_memberContactsQuery.GetFirstDegreeContacts(_friendsOwner.Id, false).Randomise().Take(MaxFriendsToShow - friends.Count)).ToList();
                }
            }

            if (friends != null && friends.Count > 0)
            {
                _views = _memberViewsQuery.GetPersonalViews(LoggedInMemberId, _membersQuery.GetMembers(friends));
                rptMiniFriends.DataSource = friends;
                rptMiniFriends.DataBind();
            }
            else
            {
                rptMiniFriends.Visible = false;
            }
        }
Exemple #3
0
        public void TestPublicRepresentativeInvitation()
        {
            var member = _membersCommand.CreateTestMember(0);
            var other  = _membersCommand.CreateTestMember(1);

            // Create invitation.

            _representativeInvitationsCommand.CreateInvitation(
                new RepresentativeInvitation
            {
                InviterId    = other.Id,
                InviteeId    = member.Id,
                Status       = RequestStatus.Pending,
                LastSentTime = DateTime.Now.AddDays(-2)
            });

            // Member views inviter.

            var views = new PersonalViews(new PersonalView(other, PersonalContactDegree.Representee, PersonalContactDegree.Public));

            AssertViews(member.Id, views, other);

            // Inviter views member.

            views = new PersonalViews(new PersonalView(member, PersonalContactDegree.Public, PersonalContactDegree.Public));
            AssertViews(other.Id, views, member);
        }
Exemple #4
0
        private void LoadNotifications()
        {
            var member = LoggedInMember;

            if (member != null)
            {
                // Get set of pending invitations.

                _notifications = new List <object>();

                var friendInvitations = _memberFriendsQuery.GetFriendInvitations(member.Id, member.GetBestEmailAddress().Address);
                foreach (var invitation in friendInvitations)
                {
                    _notifications.Add(invitation);
                }

                var representativeInvitations = _memberFriendsQuery.GetRepresentativeInvitations(member.Id, member.GetBestEmailAddress().Address);
                foreach (var invitation in representativeInvitations)
                {
                    _notifications.Add(invitation);
                }

                var contactIds = (from i in friendInvitations select i.InviterId)
                                 .Concat(from i in representativeInvitations select i.InviterId);
                _views = _memberViewsQuery.GetPersonalViews(member.Id, contactIds);
            }
            else
            {
                _notifications = new List <object>();
                _views         = new PersonalViews();
            }
        }
Exemple #5
0
        public void TestFriendsFriendRepresentativeInvitation()
        {
            var member        = _membersCommand.CreateTestMember(0);
            var friend        = _membersCommand.CreateTestMember(1);
            var friendsFriend = _membersCommand.CreateTestMember(2);

            _networkingCommand.CreateFirstDegreeLink(member.Id, friend.Id);
            _networkingCommand.CreateFirstDegreeLink(friendsFriend.Id, friend.Id);

            // Create invitation.

            _representativeInvitationsCommand.CreateInvitation(
                new RepresentativeInvitation
            {
                InviterId    = friendsFriend.Id,
                InviteeId    = member.Id,
                Status       = RequestStatus.Pending,
                LastSentTime = DateTime.Now.AddDays(-2)
            });

            // Member views inviter.

            var views = new PersonalViews(new PersonalView(friendsFriend, PersonalContactDegree.Representee, PersonalContactDegree.SecondDegree));

            AssertViews(member.Id, views, friendsFriend);

            // Inviter views member.

            views = new PersonalViews(new PersonalView(member, PersonalContactDegree.SecondDegree, PersonalContactDegree.SecondDegree));
            AssertViews(friendsFriend.Id, views, member);
        }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            var invitations = _memberFriendsQuery.GetFriendInvitations(_member.Id);

            _representativeInvitation = _memberFriendsQuery.GetRepresentativeInvitationByInviter(Member.Id);

            var contactIds = from i in invitations where i.InviteeId != null select i.InviteeId.Value;

            if (_representativeInvitation != null && _representativeInvitation.InviteeId != null)
            {
                contactIds = contactIds.Concat(new[] { _representativeInvitation.InviteeId.Value });
            }

            _views = _memberViewsQuery.GetPersonalViews(_member.Id, contactIds);

            rptSentInvitations.DataSource = invitations;
            rptSentInvitations.DataBind();

            if (invitations.Count == 0)
            {
                rptSentInvitations.Visible  = false;
                phNoSentInvitations.Visible = true;
                phSentInvitations.Visible   = false;
            }

            phSentRepresentativeInvitation.Visible = _representativeInvitation != null;
        }
Exemple #7
0
        private void InitialiseInvitations()
        {
            var friendInvitations         = _memberFriendsQuery.GetFriendInvitations(LoggedInMember.Id, LoggedInMember.GetBestEmailAddress().Address);
            var representativeInvitations = _memberFriendsQuery.GetRepresentativeInvitations(LoggedInMember.Id, LoggedInMember.GetBestEmailAddress().Address);

            var allIds = (from i in friendInvitations select i.InviterId)
                         .Concat(from i in representativeInvitations select i.InviterId);

            _views = _memberViewsQuery.GetPersonalViews(LoggedInUserId, allIds);

            if (friendInvitations.Count > 0)
            {
                rptInvitations.Visible    = true;
                rptInvitations.DataSource = friendInvitations;
                rptInvitations.DataBind();
            }
            else
            {
                rptInvitations.Visible          = false;
                litNoInvitationsMessage.Visible = true;
                litNoInvitationsMessage.Text    = NoPendingInvitations;
            }

            if (representativeInvitations.Count > 0)
            {
                phRepresentative.Visible = true;
                rptRepresentativeInvitations.DataSource = representativeInvitations;
                rptRepresentativeInvitations.DataBind();
            }
            else
            {
                phRepresentative.Visible = false;
            }
        }
Exemple #8
0
        public void TestAnonymous()
        {
            var other = _membersCommand.CreateTestMember(1);

            var views = new PersonalViews(new PersonalView(other, PersonalContactDegree.Anonymous, PersonalContactDegree.Anonymous));

            AssertViews(null, views, other);
        }
Exemple #9
0
        public void TestSelf()
        {
            var member = _membersCommand.CreateTestMember(1);

            var views = new PersonalViews(new PersonalView(member, PersonalContactDegree.Self, PersonalContactDegree.Self));

            AssertViews(member.Id, views, member);
        }
Exemple #10
0
        public void TestPublic()
        {
            var member = _membersCommand.CreateTestMember(0);
            var other  = _membersCommand.CreateTestMember(1);

            var views = new PersonalViews(new PersonalView(other, PersonalContactDegree.Public, PersonalContactDegree.Public));

            AssertViews(member.Id, views, other);
        }
Exemple #11
0
        public void DisplayContacts(IEnumerable <Guid> ids, PersonalViews views, IEnumerable <Member> members, IEnumerable <Candidate> candidates, IEnumerable <Resume> resumes)
        {
            _views      = views;
            _members    = members.ToDictionary(m => m.Id, m => m);
            _candidates = candidates.ToDictionary(c => c.Id, c => c);
            _resumes    = candidates.ToDictionary(c => c.Id, c => c.ResumeId == null ? null : (from r in resumes where r.Id == c.ResumeId.Value select r).SingleOrDefault());

            rptContacts.DataSource = ids;
            rptContacts.DataBind();

            CountContacts = members.Count();
        }
Exemple #12
0
        public void TestFriend()
        {
            var member = _membersCommand.CreateTestMember(0);
            var friend = _membersCommand.CreateTestMember(1);

            _networkingCommand.CreateFirstDegreeLink(member.Id, friend.Id);

            // Member views friend.

            var views = new PersonalViews(new PersonalView(friend, PersonalContactDegree.FirstDegree, PersonalContactDegree.FirstDegree));

            AssertViews(member.Id, views, friend);

            // Friend views member.

            views = new PersonalViews(new PersonalView(member, PersonalContactDegree.FirstDegree, PersonalContactDegree.FirstDegree));
            AssertViews(friend.Id, views, member);
        }
Exemple #13
0
        public void TestRepresentee()
        {
            var member = _membersCommand.CreateTestMember(0);
            var friend = _membersCommand.CreateTestMember(1);

            _networkingCommand.CreateFirstDegreeLink(member.Id, friend.Id);
            _representativesCommand.CreateRepresentative(friend.Id, member.Id);

            // Member views representee.

            var views = new PersonalViews(new PersonalView(friend, PersonalContactDegree.Representee, PersonalContactDegree.FirstDegree));

            AssertViews(member.Id, views, friend);

            // Representee views member.

            views = new PersonalViews(new PersonalView(member, PersonalContactDegree.Representative, PersonalContactDegree.FirstDegree));
            AssertViews(friend.Id, views, member);
        }