public async Task <ActionResult> Subscribe(SubscriberViewModel subscriber) { if (ModelState.IsValid) { try { var subscription = await _subscriptionService.SignUp(subscriber.FirstName, subscriber.LastName, subscriber.EmailAddress); if (subscription != null) { var model = _mapper.Map <SubscriptionViewModel>(subscription); return(View("Subscribed", model)); } ModelState.AddModelError("EmailAddress", "Address already in use. Please try another."); } catch { ModelState.AddModelError("", "Something bad happened. Please try again later."); } } return(View(subscriber)); }
public ActionResult Subscribe(Subscriber subscriber) { var viewModal = new SubscriberViewModel(subscriber); if (!ModelState.IsValid) { viewModal.Status = new Status { Message = SubscribeFormDefinitions.ErroreMessage, Type = StatusType.danger }; return(PartialView("_FormFields", viewModal)); } if (_subscriberRepository.Get(subscriber.Email) != null) { viewModal.Status = new Status { Message = SubscribeFormDefinitions.DuplicateMessage, Type = StatusType.danger }; return(PartialView("_FormFields", viewModal)); } _subscriberRepository.Add(subscriber); _unitOfWork.Complete(); viewModal.Status = new Status { Message = SubscribeFormDefinitions.SuccessMessage, Type = StatusType.success }; viewModal.Subscriber = new Subscriber(); ModelState.Clear(); return(PartialView("_FormFields", viewModal)); }
public async Task <ActionResult> Subscription(SubscriberViewModel model) { ViewBag.HeardFrom = GetHeardFromList(); if (ModelState.IsValid) { if (!await _newsletterSubscriptionService.IsEmailExists(model.Email)) { await _newsletterSubscriptionService.Add(_mapper.Map <SubscriberViewModel, Subscriber>(new SubscriberViewModel() { Email = model.Email, HeardFrom = model.HeardFrom, ReasonForSignup = model.ReasonForSignup })); return(RedirectToAction("SubscriptionSuccess", "Newsletter", new { email = model.Email })); } else { ModelState.AddModelError("", _localizer["EmailHasBeenExists"]); return(View(model)); } } return(View(model)); }
public WebsiteFooterViewModel() { Posts = new List <PostItemViewModel>(); SocialNetworks = new WebsiteSocialNetworksViewModel(); Subscriber = new SubscriberViewModel(); Links = new List <LinkViewModel>(); LinkCategories = new List <LinkCategoryViewModel>(); }
public SubscriberViewModelTests() { _eventAggregator = new Mock <IEventAggregator>(); _eventAggregator .RegisterNewMockedEvent <MessageSubmittedEvent, MessageContent>() .SetSubscribeCallback <MessageSubmittedEvent, MessageContent>(action => _onMessageSubmitted = action); _viewModel = new SubscriberViewModel(_eventAggregator.Object); }
//[WebInvoke(Method = "PUT", UriTemplate = "/{subscriberId}/?provider={provider}")] public SubscriberViewModel SaveSubscriber(Guid subscriberId, SubscriberViewModel subscriber, string provider) { var request = new RestRequest(this.ServiceUrl + "/{subscriberId}/?provider={provider}", Method.PUT); request.AddUrlSegment("subscriberId", subscriberId.ToString()); request.AddUrlSegment("provider", provider); request.AddParameter("application/json", SerializeObject(subscriber), ParameterType.RequestBody); return(ExecuteRequest <SubscriberViewModel>(request)); }
public ActionResult Unsubscribe(string email, string confirmEmail, string[] subscription_Newsletters_Ids) { bool allOK = true; if (HttpContext.Request.Form["Newsletter_Subscriber_Unsubscribe"] == "") { return(null); } if (email == confirmEmail && subscription_Newsletters_Ids != null && subscription_Newsletters_Ids.Length > 0) { foreach (var newsId in subscription_Newsletters_Ids) { int newsIdValidated = 0; int.TryParse(newsId, out newsIdValidated); if (newsIdValidated > 0) { var subscriber = new SubscriberViewModel { Email = email, NewsletterDefinition_Id = newsIdValidated, }; var subRecord = _newsletterServices.TryUnregisterSubscriber(subscriber); allOK = allOK && subRecord != null; } } } else { if (subscription_Newsletters_Ids == null || subscription_Newsletters_Ids.Length == 0) { _orchardServices.Notifier.Error(T("Please select at least one newsletter!")); } else if (email != confirmEmail) { _orchardServices.Notifier.Error(T("Email and email confirmation must match!")); } allOK = false; } if (allOK) { dynamic viewModel = Shape.Subscription_UnsubscribeEmailSent().Subscriber(new SubscriberViewModel { Email = email }); return(new ShapeResult(this, viewModel)); } else { dynamic viewModel = Shape.Subscription_UnsubscribeError().Subscriber(new SubscriberViewModel { Email = email }); return(new ShapeResult(this, viewModel)); } }
public void Add(SubscriberViewModel viewModel) { _repository.Add(new Subscriber { CreationDate = DateTime.Now, IsItDeleted = false, Status = true, Email = viewModel.Email }); }
public void Update(SubscriberViewModel viewModel) { var subscriber = _repository.Get(x => x.Id == viewModel.Id); subscriber.Status = viewModel.Status; subscriber.DateOfUpdate = DateTime.Now; subscriber.IsItDeleted = viewModel.IsItDeleted; subscriber.Email = viewModel.Email; _repository.Update(subscriber); }
public static Subscriber MapToView(this SubscriberViewModel viewModel) { if (viewModel == null) { return(null); } return(new Subscriber() { Id = viewModel.Id, FName = viewModel.FName, LName = viewModel.LName, BooksReserved = viewModel.BooksReserved }); }
public List <SubscriberViewModel> getSubsList() { this.conn.setConnectionString("RD"); DataTable table = this.conn.executeProcedure("sp_get_subscribers"); List <SubscriberViewModel> subs_list = new List <SubscriberViewModel>(); foreach (DataRow row in table.Rows) { SubscriberViewModel sub = new SubscriberViewModel(); sub.name = Convert.ToString(row["MAIN_NAME"]); sub.id = Convert.ToInt32(row["SUBSCR_ID"]); subs_list.Add(sub); } return(subs_list); }
public SubscriberController(ColibriDbContext colibriDbContext, IStringLocalizer <SubscriberController> localizer) { _colibriDbContext = colibriDbContext; _localizer = localizer; SubscriberViewModel = new SubscriberViewModel { //MyMessage = new List<string>() //Notifications = new List<Notifications>() Notifications = new Notifications(), ApplicationUserCategoryTypesSubscriber = new ApplicationUserCategoryTypesSubscriber(), NotificationsEnumerable = new List <Notifications>(), CategoryTypes = _colibriDbContext.CategoryTypes.ToList() }; }
public ActionResult DeleteSubscriber(string id, string version) { var request = new SubscriberViewModel { Id = id.ToGuidOrDefault(), Version = version.ToIntOrDefault() }; var success = GetCommand <DeleteSubscriberCommand>().ExecuteCommand(request); if (success) { if (!request.Id.HasDefaultValue()) { Messages.AddSuccess(NewsletterGlobalization.DeleteSubscriber_DeletedSuccessfully_Message); } } return(WireJson(success)); }
public JsonResult LoadData(SubscriberViewModel model, GridPager pager) { var pagerTuple = Tuple.Create(pager.SortColumn, pager.OrderBy, pager.Page, pager.Size, 0, 0); var result = _component.GetRecordList(model.Email, ref pagerTuple); pager.Count = pagerTuple.Item5; pager.TotalPage = pagerTuple.Item6; var models = result.ToGridJson(pager, item => new { Id = item.Id, Email = item.Email, CreateTime = item.CreateTime.AddHours(8).ToString("yyyy-MM-dd HH:mm") }); return(Json(models, JsonRequestBehavior.AllowGet)); }
public ActionResult SaveSubscriber(SubscriberViewModel model) { var success = false; SubscriberViewModel response = null; if (ModelState.IsValid) { response = GetCommand <SaveSubscriberCommand>().ExecuteCommand(model); if (response != null) { if (model.Id.HasDefaultValue()) { Messages.AddSuccess(NewsletterGlobalization.CreateSubscriber_CreatedSuccessfully_Message); } success = true; } } return(WireJson(success, response)); }
public ActionResult Subscribe(SubscriberViewModel model) { try { _subscriberService.Subscribe(new Subscriber { Email = model.Email, JarbooPlacement = model.JarbooPlacement }); if (string.IsNullOrEmpty(model.RedirectUrl)) { return(RedirectToAction("ThankYou")); } return(Redirect(model.RedirectUrl)); } catch (Exception ex) { Logger.Error(ex); } return(Redirect(model.ReturnUrl)); }
public IHttpActionResult RegisterSubscriber([FromBody] SubscriberViewModel subscriberViewModel) { if (!ModelState.IsValid) { return(BadRequest()); } var user = _userManagementService.IsUsernameAvailable(subscriberViewModel.UserName); if (!user) { var response1 = Request.CreateResponse(HttpStatusCode.Forbidden, "Username not available"); return(ResponseMessage(response1)); } var subscriberDto = SubscriberViewModelAdapter.BuildSubscriberDto(subscriberViewModel); _userManagementService.Create(subscriberViewModel.TokenId, subscriberDto); var response = Request.CreateResponse(HttpStatusCode.Created, subscriberViewModel); return(ResponseMessage(response)); }
public ActionResult Subscribe(SubscriberViewModel model) { model.IgnoreUniqueSubscriberException = true; return(SaveSubscriber(model)); }
public static SubscriberDto BuildSubscriberDto(SubscriberViewModel subscriberViewModel) { return(subscriberViewModel.Map <SubscriberViewModel, SubscriberDto>()); }
public ActionResult Subscribe(string name, string email, string confirmEmail, string[] subscription_Newsletters_Ids) { bool allOK = true; if (HttpContext.Request.Form["Newsletter_Subscriber_Subscribe"] == "") { return(null); } if (email == confirmEmail && subscription_Newsletters_Ids != null && subscription_Newsletters_Ids.Length > 0) { foreach (var newsId in subscription_Newsletters_Ids) { int newsIdValidated = 0; int.TryParse(newsId, out newsIdValidated); if (newsIdValidated > 0) { var subscriber = new SubscriberViewModel { Email = email, Name = name, NewsletterDefinition_Id = newsIdValidated, }; var subRecord = _newsletterServices.TryRegisterSubscriber(subscriber); allOK = allOK && subRecord != null; try { ValidateModel(subRecord); } catch (Exception) { allOK = false; var errors = ModelState.Values.Where(w => w.Errors.Count() > 0); foreach (var error in errors) { _orchardServices.Notifier.Error(T(error.Errors[0].ErrorMessage)); } } } } } else { if (subscription_Newsletters_Ids == null || subscription_Newsletters_Ids.Length == 0) { _orchardServices.Notifier.Error(T("Please select at least one newsletter!")); } else if (email != confirmEmail) { _orchardServices.Notifier.Error(T("Email and email confirmation must match!")); } allOK = false; } if (allOK) { dynamic viewModel = Shape.Subscription_ConfirmationEmailSent().Subscriber(new SubscriberViewModel { Name = name, Email = email }); viewModel.Metadata.Alternates.Add("Subscription.ConfirmationEmailSent"); // Casting to avoid invalid (under medium trust) reflection over the protected View method and force a static invocation. return(new ShapeResult(this, viewModel)); } else { dynamic viewModel = Shape.Subscription_SubscribeError().Subscriber(new SubscriberViewModel { Name = name, Email = email }); viewModel.Metadata.Alternates.Add("Subscription.SubscribeError"); // Casting to avoid invalid (under medium trust) reflection over the protected View method and force a static invocation. return(new ShapeResult(this, viewModel)); } }
public async Task <IActionResult> Create(SubscriberViewModel subscriber) { await _subscriberService.Add(_mapper.Map <SubscriberDto>(subscriber)); return(RedirectToAction("Index")); }
private async Task OnClosing() { await SubscriberViewModel.OnClosing(); }
public SubscriberRecord TryUnregisterSubscriber(SubscriberViewModel subscriber) { SubscriberRecord returnValue = null; try { var subs = _repositorySubscribers.Table.Where(w => w.Email == subscriber.Email && w.NewsletterDefinition.Id == subscriber.NewsletterDefinition_Id).SingleOrDefault(); if (subs == null) { _orchardServices.Notifier.Error(T("Email not found!")); return(null); } else if (subs.Confirmed) { returnValue = subs; } else { _orchardServices.Notifier.Error(T("Email not found!")); return(null); } if (returnValue != null) { // Create Nonce string parametri = "Email=" + subs.Email + "&Guid=" + subs.Guid; TimeSpan delay = new TimeSpan(1, 0, 0); string Nonce = _commonServices.CreateNonce(parametri, delay); // Update SubscriberRecord - Save Nonce returnValue.UnsubscriptionKey = Nonce; _repositorySubscribers.Update(returnValue); // Encode Nonce string parametriEncode = System.Web.HttpUtility.HtmlEncode(Nonce.Replace('+', '_').Replace('/', '-')); string host = string.Format("{0}://{1}{2}", _orchardServices.WorkContext.HttpContext.Request.Url.Scheme, _orchardServices.WorkContext.HttpContext.Request.Url.Host, _orchardServices.WorkContext.HttpContext.Request.Url.Port == 80 ? string.Empty : ":" + _orchardServices.WorkContext.HttpContext.Request.Url.Port); var urlHelper = new UrlHelper(_orchardServices.WorkContext.HttpContext.Request.RequestContext); // Model template Mail dynamic viewModel = new SubscriberViewModel { Email = subs.Email, Name = subs.Name, LinkUnsubscription = string.Format("{0}{1}?key={2}", host, urlHelper.SubscriptionConfirmUnsubscribe(), parametriEncode), KeyUnsubscription = Nonce, NewsletterDefinition_Id = subs.NewsletterDefinition.Id, NewsletterDefinition = _contentManager.Get(subs.NewsletterDefinition.Id) }; _templateService.SendTemplatedEmail(viewModel, subs.NewsletterDefinition.DeleteSubscrptionTemplateRecord_Id, new List <string> { subs.Email }, null, null, false, null); } } catch { returnValue = null; } return(returnValue); }
public SubscriberView() { InitializeComponent(); DataContext = new SubscriberViewModel(); }
public ActionResult Index() { var viewModel = new SubscriberViewModel(); return(View(viewModel)); }