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 }
private void MoveRight(DeployEnvironment environment) { var index = DeploymentEnvironments.IndexOf(environment); if (!EnvironmentIsInTheLastPosition(index)) { var rightEnvironment = DeploymentEnvironments[index + 1]; SwapEnvironments(environment, rightEnvironment); } }
private void MoveLeft(DeployEnvironment environment) { var index = DeploymentEnvironments.IndexOf(environment); if (!EnvironmentIsInTheFirstPosition(index)) { var leftEnvironment = DeploymentEnvironments[index - 1]; SwapEnvironments(environment, leftEnvironment); } }
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; }
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; }
/// <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))); } }
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); }
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); } }
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); } }
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); } }
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; } }