public virtual ActionResult UnSubscrib() { var model = new UnSubscribRequestModel(); return(View(Views.UnSubscrib, model)); }
public virtual ActionResult UnSubscrib(UnSubscribRequestModel model) { if (!ModelState.IsValid) { return(View(Views.UnSubscrib, model)); } var subscription = _subscriptionService.Get(model.Email); if (subscription == null) { ModelState.AddModelError("Email", Resources.Messages_Newsletters_UnSubscrib_NonExistentEmail); return(View(Views.UnSubscrib, model)); } if (subscription.IsCancelled) { ModelState.AddModelError("Email", Resources.Messages_Newsletters_UnSubscribConfirm_AlreadyConfirmed); return(View(Views.UnSubscrib, model)); } var message = _newslettersMailer.PrepareUnSubscribConfirmation(subscription); _queuedMailService.Save(message, CurrentConfig.Mails.NoReply.Id); subscription.IsPending = true; _subscriptionService.Save(subscription); SuccessNotification(string.Format(Resources.Messages_Newsletters_UnSubscrib_ConfirmationEmailSent, subscription.Email)); return(RedirectToThen()); }