public async Task <IViewComponentResult> InvokeAsync()
        {
            SubscribeVM subscribe = new SubscribeVM()
            {
                Subscribe = _context.Subscribes.FirstOrDefault()
            };

            return(View(await Task.FromResult(subscribe)));
        }
示例#2
0
        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"));
        }
示例#4
0
        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));
        }