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 }); }