public ActionResult EmailUsers([FromBody] EmailUsersContainer container) { if (string.IsNullOrWhiteSpace(container.Subject) || string.IsNullOrWhiteSpace(container.Body)) { return(StatusCode((int)HttpStatusCode.BadRequest, new { Error = Resources.SubjectAndBodyNotEmpty })); } var baseString = this.FullUrlHelper("Unsubscribe", AccountController.Name, new { id = "--id--", key = "--key--" }); baseString = baseString.Replace("--id--", "{0}").Replace("--key--", "{1}"); string UnsubscribeLinkGenerator(User user) => string.Format(baseString, user.UserID, _profileService.GetUnsubscribeHash(user)); _mailingListService.MailUsers(container.Subject, container.Body, container.HtmlBody, UnsubscribeLinkGenerator); return(Ok()); }
public ViewResult EmailUsers(string subject, string body, string htmlBody) { if (String.IsNullOrWhiteSpace(subject) || String.IsNullOrWhiteSpace(body)) { ViewBag.Result = Resources.SubjectAndBodyNotEmpty; return(View()); } var baseString = this.FullUrlHelper("Unsubscribe", AccountController.Name, new { id = "--id--", key = "--key--" }); baseString = baseString.Replace("--id--", "{0}").Replace("--key--", "{1}"); Func <User, string> unsubscribeLinkGenerator = user => String.Format(baseString, user.UserID, _profileService.GetUnsubscribeHash(user)); _mailingListService.MailUsers(subject, body, htmlBody, unsubscribeLinkGenerator); return(View("EmailUsersSuccessful")); }