Esempio n. 1
0
        public JsonResult Verify(string slug, string code)
        {
            string result = "Error";
            // validate the code.

            string decrypted = EncryptionUtility.DecryptString(code, _encryptionKey);

            if (decrypted != null)
            {
                // convert the json back to an object.
                ViewModels.NewsletterConfirmation newsletterConfirmation = JsonConvert.DeserializeObject <ViewModels.NewsletterConfirmation>(decrypted);
                // check that the slugs match.
                if (slug.Equals(newsletterConfirmation.slug))
                {
                    _dynamicsClient.AddNewsletterSubscriber(slug, newsletterConfirmation.email.ToLower());
                    result = "Success";
                }
            }
            return(new JsonResult(result));
        }
Esempio n. 2
0
        private string GetConfirmationLink(string slug, string email)
        {
            string result = _configuration["BASE_URI"] + _configuration["BASE_PATH"];

            result += "/newsletter-confirm/" + slug + "?code=";

            // create a newsletter confirmation object.

            ViewModels.NewsletterConfirmation newsletterConfirmation = new ViewModels.NewsletterConfirmation();
            newsletterConfirmation.email = email;
            newsletterConfirmation.slug  = slug;

            // convert it to a json string.
            string json = JsonConvert.SerializeObject(newsletterConfirmation);

            // encrypt that using two way encryption.

            result += System.Net.WebUtility.UrlEncode(EncryptionUtility.EncryptString(json, _encryptionKey));

            return(result);
        }