private void lnkAcceptInvitation_Click(object sender, EventArgs e) { try { var invitation = _memberFriendsQuery.GetFriendInvitation(ViewedMember.Id, LoggedInMember.Id); _memberFriendsCommand.AcceptInvitation(LoggedInMember.Id, invitation); var acceptMsg = invitation.GetInvitationAcceptedHtml(ViewedMember); phInvitation.Visible = false; phRemoveFriend.Visible = true; DisplayMember(); // Redisplay the details now that the viewer has 1st-degree access. AddConfirm(acceptMsg, false); } catch (UserException ex) { AddError(ex.Message); } catch (InvalidOperationException ex) { AddError(ex.Message); } }
public void TestInvitationEmailLinks() { var category = _settingsQuery.GetCategory("MemberToMemberNotification"); // Create some members. var inviter = _memberAccountsCommand.CreateTestMember(EmailAddress); var invitee = _memberAccountsCommand.CreateTestMember(EmailAddress2); // Create an invitation. var invitation = new FriendInvitation { InviterId = inviter.Id, InviteeId = invitee.Id }; // Check settings. AssertSettings(invitee, category, Frequency.Immediately); _memberFriendsCommand.SendInvitation(invitation); var email = _emailServer.AssertEmailSent(); AssertUnsubscribeLink(invitee, category, email.GetHtmlView().GetLinks()[3]); // Accept the invitation. AssertSettings(inviter, category, Frequency.Immediately); _memberFriendsCommand.AcceptInvitation(invitee.Id, invitation); email = _emailServer.AssertEmailSent(); AssertUnsubscribeLink(invitee, category, email.GetHtmlView().GetLinks()[3]); }
protected void rptInvitations_ItemCommand(object source, RepeaterCommandEventArgs e) { var invitationId = new Guid((string)e.CommandArgument); var invitation = _memberFriendsQuery.GetFriendInvitation(invitationId); if (invitation == null) { LinkMePage.AddError(ValidationErrorMessages.INVALID_INVITATION); return; } var inviter = _membersQuery.GetMember(invitation.InviterId); switch (e.CommandName) { case "AcceptInvitation": try { _memberFriendsCommand.AcceptInvitation(LoggedInMember.Id, invitation); var successMsg = invitation.GetInvitationAcceptedHtml(inviter); LinkMePage.AddConfirm(successMsg, false); } catch (UserException ex) { LinkMePage.AddError(ex); } break; case "IgnoreInvitation": _memberFriendsCommand.RejectInvitation(invitation); LinkMePage.AddConfirm(string.Format(ValidationInfoMessages.INVITE_IGNORED, inviter.FullName.MakeNamePossessive())); break; } InitialiseInvitations(); // Re-initialise - just hiding items casuses bug 8772 }
public void TestAcceptedSentRepresentativeInvitation() { var member = _memberAccountsCommand.CreateTestMember(0); var invitee = _memberAccountsCommand.CreateTestMember(1); var invitation = new RepresentativeInvitation { InviterId = member.Id, InviteeId = invitee.Id }; _memberFriendsCommand.SendInvitation(invitation); _memberFriendsCommand.AcceptInvitation(invitee.Id, invitation); LogIn(member); GetPage <Invitations>(); AssertPageDoesNotContain(invitee.FullName); }
public void TestInvitationEmailLinks() { // Create some members. var inviter = _memberAccountsCommand.CreateTestMember(0); var invitee = _memberAccountsCommand.CreateTestMember(1); // Create an invitation. var invitation = new FriendInvitation { InviterId = inviter.Id, InviteeId = invitee.Id }; _memberFriendsCommand.SendInvitation(invitation); // Check the default variation. var email = _emailServer.AssertEmailSent(); var links = email.GetHtmlView().GetLinks(); Assert.AreEqual(4, links.Count); var definition = typeof(FriendInvitationEmail).Name; AssertLink(definition, invitee, _invitationsUrl, links[0]); AssertLink(definition, _contactUsUrl, links[1]); AssertLink(definition, invitee, _memberSettingsUrl, links[2]); AssertLink(definition, GetUnsubscribeUrl(invitee.Id.ToString("n"), "MemberToMemberNotification"), links[3]); // Check the tracking pixel. var link = email.GetHtmlView().GetImageLinks().Last(); AssertTrackingLink(link); // Accept the invitation. _memberFriendsCommand.AcceptInvitation(invitee.Id, invitation); // Check the email. email = _emailServer.AssertEmailSent(); links = email.GetHtmlView().GetLinks(); Assert.AreEqual(4, links.Count); definition = typeof(FriendInvitationConfirmationEmail).Name; // Not logged in. AssertLink(definition, _contactUsUrl, links[1]); AssertLink(definition, inviter, _memberSettingsUrl, links[2]); AssertLink(definition, GetUnsubscribeUrl(inviter.Id.ToString("n"), "MemberToMemberNotification"), links[3]); // Check the tracking pixel. link = email.GetHtmlView().GetImageLinks().Last(); AssertTrackingLink(link); // Invite non-member. invitation = new FriendInvitation { InviterId = inviter.Id, InviteeEmailAddress = EmailAddress }; _memberFriendsCommand.SendInvitation(invitation); // Check the email. email = _emailServer.AssertEmailSent(); links = email.GetHtmlView().GetLinks(); Assert.AreEqual(2, links.Count); definition = typeof(ContactInvitationEmail).Name; AssertLink(definition, new ReadOnlyApplicationUrl(true, "~/join", new ReadOnlyQueryString("inviteId", invitation.Id.ToString("n"))), links[0]); AssertLink(definition, _contactUsUrl, links[1]); // Check the tracking pixel. link = email.GetHtmlView().GetImageLinks().Last(); AssertTrackingLink(link); }
private void AcceptFriendInvitation(Guid memberId, FriendInvitation friendInvitation) { _memberFriendsCommand.AcceptInvitation(memberId, friendInvitation); }