public ActionResult Index(Subscribe model)
        {
            if (ModelState.IsValid)
            {
                string connection     = ConfigurationManager.AppSettings["InternalAPIURL"];
                var    appAccessToken = ConfigurationManager.AppSettings["AppKey"];

                SubscribeRequest  subscribeRequest  = new SubscribeRequest(connection, appAccessToken, model.Email);
                SubscribeResponse subscribeResponse = subscribeRequest.Send();

                if (subscribeResponse.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    TempData["Success"] = "You have been subscribed to our newsletter!";
                    return(RedirectToAction("Index", "Home"));
                }
                else if (subscribeResponse.StatusCode == System.Net.HttpStatusCode.BadRequest)
                {
                    TempData["Errors"] = "That email address is already subscribed.";
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    TempData["Errors"] = "There was an error processing your request.";
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                return(View(model));
            }
        }
Ejemplo n.º 2
0
            public void Subscribe()
            {
                KeyVaultClient KeyVault;

                try
                {
                    var azureServiceTokenProvider = new AzureServiceTokenProvider();
                    var _token = azureServiceTokenProvider.GetAccessTokenAsync("https://vault.azure.net").Result;
                    KeyVault = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
                }
                catch (Exception e)
                {
                    throw e;
                }
                var    bundle         = KeyVault.GetSecretAsync("https://pr-kv-uks-dev.vault.azure.net/secrets/AppConnectionKey").Result;
                string appAccessToken = bundle.Value;

                string            email    = "*****@*****.**";
                SubscribeRequest  request  = new SubscribeRequest(connection, appAccessToken, email);
                SubscribeResponse response = request.Send();

                Assert.AreEqual(response.StatusCode, System.Net.HttpStatusCode.OK);
            }