Ejemplo n.º 1
0
        public void TestEmailContents()
        {
            // Create the invitation.

            var inviter = _memberAccountsCommand.CreateTestMember(0);

            inviter.VisibilitySettings.Personal.FirstDegreeVisibility = PersonalVisibility.None;
            _memberAccountsCommand.UpdateMember(inviter);

            var invitee = _memberAccountsCommand.CreateTestMember(1);

            var invitation = new RepresentativeInvitation {
                InviterId = inviter.Id, InviteeId = invitee.Id, Text = MessageText
            };

            _representativeInvitationsCommand.CreateInvitation(invitation);

            var templateEmail = new RepresentativeInvitationEmail(invitee, inviter, invitation, null);

            _emailsCommand.TrySend(templateEmail);

            // Check. The email should have been sent as part of the invitation creation.

            var email = _emailServer.AssertEmailSent();

            email.AssertAddresses(inviter, Return, invitee);
            email.AssertSubject(GetSubject());
            email.AssertHtmlViewChecks();
            AssertHtmlView(email, templateEmail, inviter, invitee, invitation, null);
            email.AssertNoAttachments();
            AssertCompatibleAddresses(email);
        }
Ejemplo n.º 2
0
        private void OnRepresentativeInvitationSent(ICommunicationUser inviter, RepresentativeInvitation invitation)
        {
            // Currently can only send to other members.

            if (invitation.InviteeId != null)
            {
                // Existing member.

                var to = _membersQuery.GetMember(invitation.InviteeId.Value);
                if (to != null)
                {
                    var activation = GetEmailVerification(to, invitation);
                    var email      = new RepresentativeInvitationEmail(to, inviter, invitation, activation);
                    _emailsCommand.TrySend(email);
                }
            }
        }