Exemple #1
0
        public void InviteUserToJoinHousehold(string userId, int householdId)
        {
            string senderEmailAddress  = UserRolesHelper.GetUserById(User.Identity.GetUserId()).Email;
            string inviteeEmailAddress = UserRolesHelper.GetUserById(userId).Email;
            string invitationUrl       = Url.Action(ActionName.INVITATION_ACCEPTANCE, ControllerName.HOUSEHOLDS, new { householdId = householdId, userId = userId, inviteeEmailAddress = inviteeEmailAddress }, protocol: Request.Url.Scheme);
            UserSpecificIdentityMessage notificationMessage = new UserSpecificIdentityMessage
            {
                Origin      = senderEmailAddress,
                Destination = inviteeEmailAddress,
                Subject     = "You've been invited to join a household budget",
                Body        = "<a href=" + invitationUrl + ">Click here if you wish to accept the invitation</a>"
            };
            EmailService emailService = new EmailService();

            emailService.SendAsSpecificUserAsync(notificationMessage);
        }
        public Task SendAsSpecificUserAsync(UserSpecificIdentityMessage message)
        {
            // Plug in your email service here to send an email.
            var apiKey = ConfigurationManager.AppSettings["SendGridAPIKey"];

            SendGridMessage sendGridMessage = new SendGridMessage();

            sendGridMessage.AddTo(message.Destination);
            sendGridMessage.From    = new MailAddress(message.Origin);
            sendGridMessage.Subject = message.Subject;
            sendGridMessage.Html    = message.Body;

            var transportWeb = new Web(ConfigurationManager.AppSettings["SendGridAPIKey"]);

            transportWeb.DeliverAsync(sendGridMessage);

            return(Task.FromResult(0));
        }