Пример #1
0
        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);
        }
Пример #2
0
        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)
            ));
 }