private static async Task SendEmailAsync(SiteMap.Site siteInfo, IEmailService _emailService, SiteUserDbModel friendUserDb, ApplicationUser userDb, IList <Element> elements, string siteId) { var model = new MailInvitation() { UserNameSender = userDb.FullName, UserName = friendUserDb.FullName, SiteName = siteInfo.Name, SiteUrl = siteInfo.Url, }; var title = FreeBusinessModule.GetTitle(elements); var identityMessage = new MailMessage(); identityMessage.Subject = new StringTemplateRenderer().Render(title, model); var bodyTemplate = new StringBuilder(); foreach (var element in elements) { bodyTemplate.Append("<div>"); if (element.Type == "p") { bodyTemplate.Append(element.Data); } else if (element.Type == "hr") { bodyTemplate.Append("<hr />"); } else if (SaveFreeCommand.IsFileElementType(element.Type)) { var files = JsonConvert.DeserializeObject <List <DataFileInput> >(element.Data); foreach (var dataFile in files) { var uri = $@"{siteInfo.Url}/api/file/get/{siteId}/{dataFile.Id}/{"ImageThumb"}/{UrlHelper .NormalizeTextForUrl(dataFile.Name)}"; bodyTemplate.Append("<div><img src=\"" + uri + "\" /></div>"); } } bodyTemplate.Append("</div>"); } identityMessage.Body = new StringTemplateRenderer().Render(bodyTemplate.ToString(), model); identityMessage.Destination = friendUserDb.Mail; await _emailService.SendAsync(identityMessage); }
private static async Task <SiteMap.Site> SendMailNoUserAsync(SiteMap.Site siteInfo, IEmailService _emailService, ApplicationUser userDb, string mail) { var model = new AdministrationAddUserNotFoundModel() { AdderUserName = userDb.FullName, SiteName = siteInfo.Name, SiteUrl = siteInfo.Url, }; var identityMessage = new MailMessage(); identityMessage.Subject = string.Format("[{0}] {1} vous a donné les droits administrateur", model.SiteName, model.AdderUserName); identityMessage.Body = new StringTemplateRenderer().Render( ResourcesLoader.Load(String.Concat("Sites", "Core", "Command", "User", "SaveSiteUser", "AdministrationAddUserNotfound.st")), model); identityMessage.Destination = mail; await _emailService.SendAsync(identityMessage); return(siteInfo); }
private static async Task SendEmailAsync(SiteMap.Site siteInfo, IEmailService _emailService, SiteUserDbModel friendUserDb, ApplicationUser userDb) { var model = new MailInvitation() { UserNameSender = userDb.FullName, UserName = friendUserDb.FullName, SiteName = siteInfo.Name, SiteUrl = siteInfo.Url, }; var identityMessage = new MailMessage(); identityMessage.Subject = string.Format("[{0}] {1} vous invite à vous inscrire sur le site", model.SiteName, model.UserNameSender); identityMessage.Body = new StringTemplateRenderer().Render(ResourcesLoader.Load(Path.Combine("Sites", "Core", "Renderers", "MailInvitation.st")) , model); identityMessage.Destination = friendUserDb.Mail; await _emailService.SendAsync(identityMessage); }