public async void TestRender_RemoteUserNotificationEmail() { var service = CreateService(); var model = new RemoteUserNotificationEmailViewModel { OrganizationName = "NAme", SiteStreetAddress = "2134 first street", SiteCity = "Acity", PrimeUrl = "www.TEST.com" }; var html = await service.RenderTemplateToStringAsync(RazorTemplates.Emails.RemoteUserNotification, model); Assert.NotNull(html); Assert.Contains(model.OrganizationName, html); Assert.Contains(model.SiteStreetAddress, html); Assert.Contains(model.SiteCity, html); Assert.Contains(model.PrimeUrl, html); }
public async Task SendRemoteUserNotificationsAsync(Site site, IEnumerable <RemoteUser> remoteUsers) { var recipients = remoteUsers.Select(ru => ru.Email); var viewModel = new RemoteUserNotificationEmailViewModel { OrganizationName = site.Organization.Name, SiteStreetAddress = site.PhysicalAddress.Street, SiteCity = site.PhysicalAddress.City, PrimeUrl = PrimeEnvironment.FrontendUrl }; var email = await _emailRenderingService.RenderRemoteUserNotificationEmailAsync(recipients.First(), viewModel); await Send(email); foreach (var recipient in recipients.Skip(1)) { email.To = new[] { recipient }; await Send(email); } }
public async Task <Email> RenderRemoteUserNotificationEmailAsync(string recipientEmail, RemoteUserNotificationEmailViewModel viewModel) { return(new Email ( from: PrimeEmail, to: recipientEmail, subject: "Remote Practitioner Notification", body: await _razorConverterService.RenderTemplateToStringAsync(RazorTemplates.Emails.RemoteUserNotification, viewModel) )); }