public virtual ActionResult Subscrib() { var model = new SubscribRequestModel(); if (IsPartialNeeded) { return(PartialView(Views._Subscrib, model)); } return(View(Views.Subscrib, model)); }
public virtual ActionResult Subscrib(SubscribRequestModel model) { if (!ModelState.IsValid) { return(View(Views.Subscrib, model)); } var subscription = _subscriptionService.Get(model.Email); if (subscription != null) { if (subscription.IsConfirmed) { ModelState.AddModelError("Email", Resources.Messages_Newsletters_Subscrib_DuplicateEmail); return(View(Views.Subscrib, model)); } } else { subscription = model.To <SubscribRequestModel, Subscription>(); _subscriptionService.Save(subscription); } var message = _newslettersMailer.PrepareSubscribConfirmation(subscription); _queuedMailService.Save(message, CurrentConfig.Mails.NoReply.Id); subscription.IsPending = true; _subscriptionService.Save(subscription); SuccessNotification(string.Format(Resources.Messages_Newsletters_Subscrib_ConfirmationEmailSent, subscription.Email)); return(RedirectToThen()); }