public async Task OnGet() { IEnumerable <MeetDetailsModel> meets = await _meetsService.RetrieveMeets(); if (meets == null) { return; } if (Request.Query.ContainsKey("leader")) { html = FullScheduleEmailBuilder .Build( meets .Where(m => m .LeaderField() .Value .Equals(Request.Query["leader"], StringComparison.OrdinalIgnoreCase)), $@"{_hostingEnvironment.WebRootPath}\templates"); } else { html = FullScheduleEmailBuilder.Build( meets, $@"{_hostingEnvironment.WebRootPath}\templates"); } }
public async Task OnGet() { IEnumerable <MeetDetailsModel> meets = await _meetsService.RetrieveMeets(DateTime.Now.Date); if (meets == null) { return; } bool printerFriendly = Request.Query.ContainsKey("printerFriendly"); bool hideHeaderAndFooterImages = Request.Query.ContainsKey("hideHeaderAndFooter"); if (printerFriendly) { Html = BuildPrinterFriendlyHtml(meets); } else { Html = FullScheduleEmailBuilder.Build( meetsDetails: meets, templatesPath: $@"{_hostingEnvironment.WebRootPath}\templates", previewMode: false, showHeaderAndFooterImages: !hideHeaderAndFooterImages); } }
public async Task <ActionResult> SendFullScheduleToAddress(EmailContent emailContent) { try { if (string.IsNullOrWhiteSpace(emailContent.Address)) { return(BadRequest("Address cannot be empty")); } if (string.IsNullOrWhiteSpace(emailContent.Subject)) { return(BadRequest("Subject cannot be empty")); } if (string.IsNullOrWhiteSpace(emailContent.Body)) { return(BadRequest("Email body cannot be empty")); } if (string.IsNullOrWhiteSpace(emailContent.SendMeetsUpUntilThisDate) || !DateTime.TryParse( emailContent.SendMeetsUpUntilThisDate, out DateTime latestDate)) { return(BadRequest($"Meets date range is invalid: \"{emailContent.SendMeetsUpUntilThisDate}\".")); } string[] emailAddresses = emailContent.Address.Split(';'); IEnumerable <MeetDetailsModel> meets = await _meetsService.RetrieveMeets( DateTime.Now, latestDate); string emailBody = FullScheduleEmailBuilder.Build( meets, $@"{_hostingEnvironment.WebRootPath}\templates", emailContent.Body, _meetsPageUrl, false); _logger.LogInfo($"Sending full schedule email to address \"{emailAddresses.Join(";")}\"...", ClassName); _emailSenderService.Send( emailContent.Subject, emailBody, emailAddresses); } catch (Exception ex) { _logger.LogError("Exception while sending full schedule email to address.", ClassName, ex); return(StatusCode(500, ex.Message)); } return(new JsonResult(Ok())); }
public async Task OnGet() { IEnumerable <MeetDetailsModel> meets; if (Request.Query.ContainsKey("leader")) { meets = await _meetsService.RetrieveMeets(Request.Query["leader"]); } else { meets = await _meetsService.RetrieveMeets(DateTime.Now); } if (meets == null) { return; } Html = FullScheduleEmailBuilder.Build( meets, $@"{_hostingEnvironment.WebRootPath}\templates"); }