コード例 #1
0
ファイル: BloodRequestController.cs プロジェクト: cbmlody/BMS
        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"));
        }
コード例 #2
0
ファイル: BloodRequestController.cs プロジェクト: cbmlody/BMS
        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);
            }
        }
コード例 #3
0
        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
            });
        }
コード例 #4
0
        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);
        }