public async Task <ActionResult> AddAsync(Subscribe model)
        {
            //ConfirmEmailAddress is a honeypot field
            if (!string.IsNullOrWhiteSpace(model.ConfirmEmailAddress))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            string tenant = AppUsers.GetTenant();

            if (EmailSubscriptions.Add(tenant, model.EmailAddress))
            {
                var email = new SubscriptionWelcomeEmail();
                await email.SendAsync(tenant, model);
            }

            Thread.Sleep(1000);
            return(this.Ok());
        }
Example #2
0
        public async Task <ActionResult> AddAsync(Subscribe model)
        {
            //ConfirmEmailAddress is a honeypot field
            if (!string.IsNullOrWhiteSpace(model.ConfirmEmailAddress))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }


            if (await EmailSubscriptions.AddAsync(this.Tenant, model.EmailAddress).ConfigureAwait(false))
            {
                var email = new SubscriptionWelcomeEmail();
                await email.SendAsync(this.Tenant, model).ConfigureAwait(false);
            }

            await Task.Delay(1000).ConfigureAwait(false);

            return(this.Ok());
        }
Example #3
0
        public async Task <ActionResult> AddAsync(Subscribe model)
        {
            string token = this.Session[TokenKey].ToString();

            //ConfirmEmailAddress is a honeypot field
            if (token != model.TokenHidden || !string.IsNullOrWhiteSpace(model.ConfirmEmailAddress))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            string catalog = AppUsers.GetCatalog();

            if (EmailSubscriptions.Add(catalog, model.EmailAddress))
            {
                var email = new SubscriptionWelcomeEmail();
                await email.SendAsync(catalog, model);
            }

            return(Json("OK"));
        }