public Response Toggle(IssToggleConfig issToggleConfig)
        {
            var response = new Response();

            try
            {
                var mgr   = new ServerManager();
                var pools = mgr.ApplicationPools.Where(app => issToggleConfig.AppPools.Contains(app.Name));

                foreach (var pool in pools)
                {
                    var newState = issToggleConfig.Condition ? pool.Stop() : pool.Start();
                }

                var state = issToggleConfig.Condition ? "stopped" : "started";
                response.AddSuccessNotification($"Application pools {state} successfuly.");
                return(response);
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message);
                response.AddErrorNotification(ex.Message, ex.StackTrace);
                return(response);
            }
        }
        public Response WhitelistToggle(IssToggleConfig issToggleConfig)
        {
            var response = new Response();

            try
            {
                var whitelistFile = ConfigurationManager.AppSettings["WhitelistXmlPath"];
                var whitelist     = XDocument.Load(whitelistFile);

                var buildsNode = whitelist.Descendants("builds").First();

                if (!issToggleConfig.Condition)
                {
                    foreach (var appPool in issToggleConfig.AppPools)
                    {
                        var poolElement = new XElement("app");
                        poolElement.SetAttributeValue("value", appPool);
                        buildsNode.Add(poolElement);
                    }
                }
                else
                {
                    var builds = buildsNode.Descendants("app")
                                 .Where(x => issToggleConfig.AppPools.Contains(x.Attribute("value")?.Value)).ToList();
                    foreach (var build in builds)
                    {
                        build.Remove();
                    }
                }

                using (var file = new StreamWriter(whitelistFile))
                {
                    whitelist.Save(file);
                }

                //if (application.Name.EndsWith("-O"))
                //{
                //    var oracleInstances = GetAllOracleInstances();
                //    var instance = oracleInstances.FirstOrDefault(i => i.CurrentBuildName == application.Name.Replace("-O", ""));
                //    if (instance != null)
                //    {
                //        SetReserved(new OracleInstanceReservationRequest
                //        {
                //            Id = instance.Id,
                //            Reserve = true
                //        });
                //    }
                //}
                var function = issToggleConfig.Condition ? "un" : "";
                response.AddSuccessNotification($"Application {function}whitelisted successfuly.");
                return(response);
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message);
                response.AddErrorNotification(ex.Message, ex.StackTrace);
                return(response);
            }
        }