Exemple #1
0
        static void Main(string[] args)
        {
            Console.WriteLine(" # Performing Db Upgrade ... ");
            string connectionString         = "";
            DeploymentEnvironments deployTo = DeploymentEnvironments.LocalDev;

            Parser.Default.ParseArguments <Options>(args)
            .WithParsed <Options>(o =>
            {
                Console.WriteLine($" ** Current Arguments: -e '{o.Environment}' -c '{OutputCnnString(o.ConnectionString)}'");

                if (!string.IsNullOrWhiteSpace(o.ConnectionString))
                {
                    connectionString = o.ConnectionString;
                }
                else
                {
                    connectionString = DefaultConnectionString;
                }

                if (!string.IsNullOrWhiteSpace(o.Environment))
                {
                    o.Environment = o.Environment.Trim().ToLower();

                    if (o.Environment == "localdev")
                    {
                        deployTo = DeploymentEnvironments.LocalDev;
                    }
                    else if (o.Environment == "testing" || o.Environment == "test")
                    {
                        deployTo = DeploymentEnvironments.Testing;
                    }
                    else if (o.Environment == "uat")
                    {
                        deployTo = DeploymentEnvironments.Uat;
                    }
                    else if (o.Environment == "production" || o.Environment == "prod")
                    {
                        deployTo = DeploymentEnvironments.Production;
                    }

                    else
                    {
                        throw new Exception("!!! ERROR: Environment not defined!");
                    }
                }

                Console.WriteLine($" ** ScriptExecutor.PerformUpgrade('{deployTo}', '{OutputCnnString(connectionString)}')");
                ScriptExecutor.PerformUpgrade(deployTo, connectionString, true);
            });

            Console.WriteLine(" # Db Upgrade Completed. Done. ");

#if DEBUG
            Console.ReadKey();
#endif
        }
Exemple #2
0
        private void MoveRight(DeployEnvironment environment)
        {
            var index = DeploymentEnvironments.IndexOf(environment);

            if (!EnvironmentIsInTheLastPosition(index))
            {
                var rightEnvironment = DeploymentEnvironments[index + 1];
                SwapEnvironments(environment, rightEnvironment);
            }
        }
Exemple #3
0
        private void MoveLeft(DeployEnvironment environment)
        {
            var index = DeploymentEnvironments.IndexOf(environment);

            if (!EnvironmentIsInTheFirstPosition(index))
            {
                var leftEnvironment = DeploymentEnvironments[index - 1];
                SwapEnvironments(environment, leftEnvironment);
            }
        }
Exemple #4
0
        public void ChangeEnvironmentDefaultValue(string name, bool newDefaultValue)
        {
            var env = DeploymentEnvironments.FirstOrDefault(e => string.Compare(e.EnvName, name, StringComparison.OrdinalIgnoreCase) == 0);

            if (env == null)
            {
                throw new InvalidOperationException("Environment does not exist!");
            }

            env.DefaultToggleValue = newDefaultValue;
        }
Exemple #5
0
        public void ChangeEnvironmentValuesToRequireReasonFor(string name, bool requireReasonWhenToggleEnabled, bool requireReasonWhenToggleDisabled)
        {
            var env = DeploymentEnvironments.FirstOrDefault(e => string.Compare(e.EnvName, name, StringComparison.OrdinalIgnoreCase) == 0);

            if (env == null)
            {
                throw new InvalidOperationException("Environment does not exist!");
            }

            env.RequireReasonWhenToggleDisabled = requireReasonWhenToggleDisabled;
            env.RequireReasonWhenToggleEnabled  = requireReasonWhenToggleEnabled;
        }
Exemple #6
0
        /// <summary>
        /// Verifies that any values for flower type slot in the intent is valid.
        /// </summary>
        /// <param name="flowertypeString"></param>
        /// <returns></returns>
        private ValidationResult ValidateDeploymentEnvironment(string deploymentEnvironment)
        {
            bool isFlowerTypeValid = Enum.IsDefined(typeof(DeploymentEnvironments), deploymentEnvironment.ToUpper());

            if (Enum.TryParse(typeof(DeploymentEnvironments), deploymentEnvironment, true, out object deploymentTypeObject))
            {
                _chosenEnvironment = (DeploymentEnvironments)deploymentTypeObject;
                return(ValidationResult.VALID_RESULT);
            }
            else
            {
                return(new ValidationResult(false, ENVIRONMENT_SLOT, String.Format("Sorry, '{0}' environment isn't supported. Pick one from Alpha, Beta, Gamma and Production", deploymentEnvironment)));
            }
        }
Exemple #7
0
        public void DeleteDeployEnvironment(string environment)
        {
            if (!DeployEnvExists(environment))
            {
                throw new InvalidOperationException("Environment does not exist!");
            }

            foreach (var featureToggle in FeatureToggles)
            {
                featureToggle.RemoveStatus(environment);
            }

            DeploymentEnvironments.RemoveAll(e => e.EnvName == environment);
        }
Exemple #8
0
        public void AddDeployEnvironment(string name, bool defaultToggleValue, bool requireReasonWhenToggleEnabled, bool requireReasonWhenToggleDisabled, int sortOrder = 1)
        {
            if (DeployEnvExists(name))
            {
                throw new BusinessRuleValidationException("Environment with the same name already exists for this application!");
            }

            DeploymentEnvironments.Add(DeployEnvironment.Create(name, defaultToggleValue, requireReasonWhenToggleEnabled, requireReasonWhenToggleDisabled, sortOrder));

            foreach (var ft in FeatureToggles)
            {
                ft.AddStatus(defaultToggleValue, name);
            }
        }
Exemple #9
0
        public void ChangeEnvironmentPosition(string environment, bool moveToLeft, bool moveToRight)
        {
            DeploymentEnvironments = DeploymentEnvironments.OrderBy(e => e.SortOrder).ToList();
            var env = DeploymentEnvironments.FirstOrDefault(e => string.Compare(e.EnvName, environment, StringComparison.OrdinalIgnoreCase) == 0);

            if (env == null)
            {
                throw new InvalidOperationException("Environment does not exist!");
            }

            if (moveToLeft && !moveToRight)
            {
                MoveLeft(env);
            }

            if (moveToRight && !moveToLeft)
            {
                MoveRight(env);
            }
        }
Exemple #10
0
        public void ChangeDeployEnvironmentName(string oldName, string newName)
        {
            var env = DeploymentEnvironments.FirstOrDefault(e => string.Compare(e.EnvName, oldName, StringComparison.OrdinalIgnoreCase) == 0);

            if (env == null)
            {
                throw new InvalidOperationException("Environment does not exist!");
            }

            if (DeployEnvExists(newName, oldName))
            {
                throw new BusinessRuleValidationException("An environment with the same name already exists!");
            }

            env.EnvName = newName;

            var featureToggles = FeatureToggles.ToList();

            foreach (var ft in featureToggles)
            {
                ft.ChangeEnvironmentnameForFeatureToggleStatus(oldName, newName);
            }
        }
Exemple #11
0
 private bool DeployEnvExists(string newName, string oldName = "")
 {
     return(DeploymentEnvironments.Exists(e => string.Compare(e.EnvName, newName, StringComparison.OrdinalIgnoreCase) == 0) && newName != oldName);
 }
        public void SetDBI(WorkItemChangedEvent wice, TFSIdentity tfsId)
        {
            _dbi = new DBI(GetDBINumber(wice.CoreFields.IntegerFields), tfsId.Url);

            this.SetWorkItemHelper(wice, (TFWI)_dbi);

            _dbiType = GetDBIType();
            _state = GetState();
            _stateChange = GetStateChangeType();
            _targetEnv = GetTargetEnvironment();

            if (ChangeType == ChangeTypes.New ||
                !HasBeenAutoFilled() ||
                Check4NewBuildPackage())
            {
                this.AutoFill();
                SetBuildNumbersField();
                ResetWIFields();
                PopBuildNumbersList();
                LinkBBIs();
            }
            else
            {
                PopBuildNumbersList();
                LinkBBIs();

            }

            if (WiFields["New Test Environment"].Equals("Production", StringComparison.CurrentCultureIgnoreCase))
            {
                _isPrd = true;
            }

            if ((_state == DBIStates.Ready4IRB || _state == DBIStates.IRBApproved) && _stateChange == WIStateChangeType.New)
            {
                _isIRB = true;
            }
        }