public static string GetEmailTemplateParameter(RestCommand command, int emailTemplateParameterID) { EmailTemplateParameter emailTemplateParameter = EmailTemplateParameters.GetEmailTemplateParameter(command.LoginUser, emailTemplateParameterID); if (emailTemplateParameter.OrganizationID != command.Organization.OrganizationID) { throw new RestException(HttpStatusCode.Unauthorized); } return(emailTemplateParameter.GetXml("EmailTemplateParameter", true)); }
public async Task SendResetPasswordAsync(string email, string endpoint, string token, string culture) { var template = await GetTemplateOrFallbackToDefaultOrFailAsync(EmailTemplates.ResetPassword, culture); var resetPasswordUrl = $"{endpoint}?email={email}&token={token}"; var emailMessage = CreateMessage(email, template.Subject); ApplyTemplate(template.TemplateId, emailMessage, EmailTemplateParameter.Create("resetPasswordUrl", resetPasswordUrl)); Logger.Debug($"Sending {EmailTemplates.ResetPassword} email to {email} via sendgrid"); await _sendGridClient.SendMessageAsync(emailMessage); }
public async Task SendActivateAccountAsync(string email, string username, string endpoint, string token, string culture) { var template = await GetTemplateOrFallbackToDefaultOrFailAsync(EmailTemplates.ActivateAccount, culture); var activateAccountUrl = $"{endpoint}?email={email}&token={token}"; var emailMessage = CreateMessage(email, template.Subject); ApplyTemplate(template.TemplateId, emailMessage, EmailTemplateParameter.Create("url", activateAccountUrl), EmailTemplateParameter.Create("username", username)); Logger.Debug($"Sending {EmailTemplates.ActivateAccount} email to {email} via sendgrid"); await _sendGridClient.SendMessageAsync(emailMessage); }
public async Task SendPhotosAddedToRemarkEmailAsync(string email, Guid remarkId, string category, string address, string culture, string url) { var template = await GetTemplateOrFallbackToDefaultOrFailAsync(EmailTemplates.PhotosAddedToRemark, culture); var emailMessage = CreateMessage(email, template.Subject); ApplyTemplate(template.TemplateId, emailMessage, EmailTemplateParameter.Create("remarkId", remarkId.ToString()), EmailTemplateParameter.Create("category", category), EmailTemplateParameter.Create("address", address), EmailTemplateParameter.Create("url", url)); await _sendGridClient.SendMessageAsync(emailMessage); }
public async Task SendRemarkStateChangedAsync(string email, Guid remarkId, string category, string address, string username, DateTime date, string culture, string url, string state) { var template = await GetTemplateOrFallbackToDefaultOrFailAsync(EmailTemplates.RemarkStateChanged, culture); var emailMessage = CreateMessage(email, template.Subject); ApplyTemplate(template.TemplateId, emailMessage, EmailTemplateParameter.Create("remarkId", remarkId.ToString()), EmailTemplateParameter.Create("category", category), EmailTemplateParameter.Create("address", address), EmailTemplateParameter.Create("username", username), EmailTemplateParameter.Create("date", GetDateTimeString(date, culture)), EmailTemplateParameter.Create("state", state), EmailTemplateParameter.Create("url", url)); Logger.Debug($"Sending {EmailTemplates.RemarkStateChanged} email to {email} via sendgrid"); await _sendGridClient.SendMessageAsync(emailMessage); }