public async Task <IViewComponentResult> InvokeAsync() { SubscribeVM subscribe = new SubscribeVM() { Subscribe = _context.Subscribes.FirstOrDefault() }; return(View(await Task.FromResult(subscribe))); }
public async Task <IActionResult> Subscribe(SubscribeVM subscribeVM) { Subscribe subscribe = new Subscribe() { Email = subscribeVM.Email, }; await _context.Subscribes.AddAsync(subscribe); await _context.SaveChangesAsync(); return(Content("Success!!!")); }
public ActionResult Subscribe(SubscribeVM subscribeVM) { var newsletter = new Newsletter { Email = subscribeVM.Email }; try { unitOfWork.Newsletters.Insert(newsletter); } catch (Exception ex) { } return(Redirect("Index")); }
public async Task <IActionResult> Subscribe([FromBody] SubscribeVM model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } // Checks the email is not already subscribed: if (await _dbContext.NewsletterSubscribers.AnyAsync(s => s.EmailAddress.Equals(model.EmailAddress)) == false) { NewsletterSubscriber subscriber = new NewsletterSubscriber() { EmailAddress = model.EmailAddress }; _dbContext.NewsletterSubscribers.Add(subscriber); await _dbContext.SaveChangesAsync(); } return(Json(new { Message = "Great! We will let you know about awesome jewelry!" })); }
// GET: /Subscribe/ public async Task <ActionResult> Index(string id, string listName) { // We get to this method when they click on the Confirm link in the // email that's sent to them after the subscribe service method is called. TableRequestOptions reqOptions = new TableRequestOptions() { MaximumExecutionTime = TimeSpan.FromSeconds(1.5), RetryPolicy = new LinearRetry(TimeSpan.FromSeconds(3), 3) }; string filter = TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, listName), TableOperators.And, TableQuery.GenerateFilterCondition("SubscriberGUID", QueryComparisons.Equal, id)); var query = new TableQuery <Subscriber>().Where(filter); TableContinuationToken token = null; OperationContext ctx = new OperationContext() { ClientRequestID = "" }; TableQuerySegment <Subscriber> currentSegment = null; currentSegment = await mailingListTable.ExecuteQuerySegmentedAsync(query, token, reqOptions, ctx); var subscriber = currentSegment.Results.ToList().Single(); //subscriberTableRow.Status = "Verified"; subscriber.Verified = true; var replaceOperation = TableOperation.Merge(subscriber); mailingListTable.Execute(replaceOperation); var newSubscriber = new SubscribeVM(); newSubscriber.EmailAddress = subscriber.EmailAddress; var mailingList = await FindRowAsync(subscriber.ListName, "mailinglist"); newSubscriber.ListDescription = mailingList.Description; return(View(newSubscriber)); }