public async Task <EmailMessage> PrepareInvalidWorkspaceInviteMail(NotificationDto notification) { string notificantEmail = (await _userStorage.FindAsync(u => u.Id == notification.NotificantId)).Email; EmailMessage emailMessage = new EmailMessage(); string mailName = "InvalidWorkspaceInviteMessage"; MailConfigDto mailConfigDto = await _mailConfig.GetConfig(mailName); SendGridTemplateDto template = await _sendGridService.GetMailTemplate(mailConfigDto.TemplateId); DTOs.Version activeTemplate = template.Versions.FirstOrDefault(v => v.Active == 1); EmailAddress fromAddress = _fromAddress; EmailAddress toAddress = new EmailAddress("", notificantEmail); emailMessage.FromAddresses.Add(fromAddress); emailMessage.ToAddresses.Add(toAddress); emailMessage.Subject = $"{activeTemplate.Subject} {_testEmailIndicator}"; ProjectDto project = notification.NotificationObject as ProjectDto; string htmlContent = activeTemplate.HtmlContent .Replace("{{projectName}}", project.Name) .Replace("{{workspaceName}}", project.CommunicationPlatform); string plainTextContent = activeTemplate.PlainContent .Replace("{{projectName}}", project.Name) .Replace("{{workspaceName}}", project.CommunicationPlatform); emailMessage.MailContent.Add("text/html", htmlContent); emailMessage.MailContent.Add("text/plain", plainTextContent); return(emailMessage); }
public async Task <EmailMessage> PrepareWelcomeMail(NotificationDto notification) { string notificantEmail = (await _userStorage.FindAsync(u => u.Id == notification.NotificantId)).Email; EmailMessage emailMessage = new EmailMessage(); string mailName = "WelcomeMessage"; MailConfigDto mailConfigDto = await _mailConfig.GetConfig(mailName); SendGridTemplateDto template = await _sendGridService.GetMailTemplate(mailConfigDto.TemplateId); DTOs.Version activeTemplate = template.Versions.FirstOrDefault(v => v.Active == 1); EmailAddress fromAddress = _fromAddress; EmailAddress toAddress = new EmailAddress("", notificantEmail); emailMessage.FromAddresses.Add(fromAddress); emailMessage.ToAddresses.Add(toAddress); emailMessage.Subject = $"{activeTemplate.Subject} {_testEmailIndicator}"; string htmlContent = activeTemplate.HtmlContent.Replace("{{currentYear}}", DateTime.Now.Year.ToString()); string plainTextContent = activeTemplate.PlainContent.Replace("{{currentYear}}", DateTime.Now.Year.ToString()); emailMessage.MailContent.Add("text/html", htmlContent); emailMessage.MailContent.Add("text/plain", plainTextContent); return(emailMessage); }
public async Task <EmailMessage> PrepareInitialFeedbackRequestMail(NotificationDto notification) { UserEntity user = await _userStorage.FindAsync(u => u.Id == notification.NotificantId); string notificantEmail = user.Email; EmailMessage emailMessage = new EmailMessage(); string mailName = "InitialFeedbackRequestMessage"; MailConfigDto mailConfigDto = await _mailConfig.GetConfig(mailName); SendGridTemplateDto template = await _sendGridService.GetMailTemplate(mailConfigDto.TemplateId); DTOs.Version activeTemplate = template.Versions.FirstOrDefault(v => v.Active == 1); EmailAddress fromAddress = _fromAddress; EmailAddress toAddress = new EmailAddress("", notificantEmail); emailMessage.FromAddresses.Add(fromAddress); emailMessage.ToAddresses.Add(toAddress); emailMessage.Subject = $"{activeTemplate.Subject} {_testEmailIndicator}"; string htmlContent = activeTemplate.HtmlContent; string plainTextContent = activeTemplate.PlainContent; emailMessage.MailContent.Add("text/html", htmlContent); emailMessage.MailContent.Add("text/plain", plainTextContent); return(emailMessage); }
public async Task <EmailMessage> PrepareProjectPostedMail(NotificationDto notification, ProjectDto project) { UserEntity user = await _userStorage.FindAsync(u => u.Id == notification.NotificantId); string notificantEmail = user.Email; EmailMessage emailMessage = new EmailMessage(); string mailName = "ProjectPostedMessage"; MailConfigDto mailConfigDto = await _mailConfig.GetConfig(mailName); SendGridTemplateDto template = await _sendGridService.GetMailTemplate(mailConfigDto.TemplateId); DTOs.Version activeTemplate = template.Versions.FirstOrDefault(v => v.Active == 1); // Get workspace install url string workspaceType = project.CommunicationPlatform; string installUrl = await _workspaceAppService.GetInstallUrl(workspaceType); EmailAddress fromAddress = _fromAddress; EmailAddress toAddress = new EmailAddress("", notificantEmail); emailMessage.FromAddresses.Add(fromAddress); emailMessage.ToAddresses.Add(toAddress); emailMessage.Subject = $"{activeTemplate.Subject} {_testEmailIndicator}"; string htmlContent = activeTemplate.HtmlContent .Replace("{{workspaceType}}", workspaceType) .Replace("{{workspaceAppInstallUrl}}", installUrl); string plainTextContent = activeTemplate.PlainContent .Replace("{{workspaceType}}", workspaceType) .Replace("{{workspaceAppInstallUrl}}", installUrl); emailMessage.MailContent.Add("text/html", htmlContent); emailMessage.MailContent.Add("text/plain", plainTextContent); return(emailMessage); }
public async Task <EmailMessage> PrepareFeedbackMail(NotificationDto notification) { string feedbackContent = notification.Content; EmailMessage emailMessage = new EmailMessage(); string mailName = "FeedbackMessage"; MailConfigDto mailConfigDto = await _mailConfig.GetConfig(mailName); SendGridTemplateDto template = await _sendGridService.GetMailTemplate(mailConfigDto.TemplateId); DTOs.Version activeTemplate = template.Versions.FirstOrDefault(v => v.Active == 1); emailMessage = JsonConvert.DeserializeObject <EmailMessage>(AppSettings.FeedbackRecipients); EmailAddress fromAddress = _fromAddress; emailMessage.FromAddresses.Add(fromAddress); emailMessage.Subject = $"{activeTemplate.Subject} {_testEmailIndicator}"; string htmlContent = activeTemplate.HtmlContent.Replace("{{feedbackMessage}}", feedbackContent); string plainTextContent = activeTemplate.PlainContent.Replace("{{feedbackMessage}}", feedbackContent); emailMessage.MailContent.Add("text/html", htmlContent); emailMessage.MailContent.Add("text/plain", plainTextContent); return(emailMessage); }