public ActionResult Confirm(string hash) { var confirmation = _unitOfWork.Confirmations.GetByHash(hash); var bank = confirmation.Request.Bank; if (confirmation == null) { return(HttpNotFound()); } confirmation.Status = true; var request = confirmation.Request; var message = new IdentityMessage { Subject = "BMS Donation details", Destination = confirmation.Donor.Email, Body = RazorTemplateService.RenderTemplate("DonationDetails.cshtml", model: request) }; Task.Run(() => _emailService.SendAsync(message)); _unitOfWork.Confirmations.Update(confirmation); _unitOfWork.Complete(); ViewBag.Message = "Thank you for your participation in this blood collection!" + "We have sent you email with additional informations."; return(View("Info")); }
private async void SendEmailsWithRequest(IEnumerable <Confirmation> confirmations) { foreach (var confirmation in confirmations) { var message = new IdentityMessage { Body = RazorTemplateService.RenderTemplate("Confirmation.cshtml", confirmation), Destination = confirmation.Donor.Email, Subject = "BMS Confirmation" }; await _emailService.SendAsync(message); } }
private IdentityMessage PrepareMessage(Donor donor) { if (donor == null) { return(null); } var viewBag = new DynamicViewBag(); viewBag.AddValue("CallbackUrl", Url.Action("Activate", "Donor", new { userId = donor.Id, code = donor.GetHashCode() }, protocol: Request.Url.Scheme)); return(new IdentityMessage { Body = RazorTemplateService.RenderTemplate("DonorActivation.cshtml", donor, viewBag), Subject = "Confirm email", Destination = donor.Email }); }
public void CreateReport(Summary summary, DirectoryInfo outputDirectory) { var engineNamespace = GetType().Namespace; var templatesNamespace = engineNamespace + ".Templates"; var templateService = new RazorTemplateService(templatesNamespace, outputDirectory.FullName); if (summary.Reports.Count > 1) { summary.InsertIndexSideNavLink(); templateService.Save(summary); } var artifactsManager = new ArtifactsManager(outputDirectory); foreach (var report in summary.Reports) { report.SideNavLinks = summary.SideNavLinks; artifactsManager.CopyReportedArtifacts(report); if(report.XmlFileContents != null) artifactsManager.SaveOriginalXmlContents(report); templateService.Save(report); } var assetsNamespace = engineNamespace + ".Assets"; AssetsCopier.CopyTo(assetsNamespace, outputDirectory); }