/// <summary> /// Gets the deployment package. /// </summary> /// <param name="project">The K2 project.</param> /// <param name="environmentManager">The K2 environment manager.</param> /// <param name="IsTest">Will Deployment Package be in Test Mode?</param> /// <returns>The Deployment Package</returns> public static DeploymentPackage CreateDeploymentPackage( Project project, EnvironmentSettingsManager environmentManager, string DeploymentLabel, string DeploymentDescription, bool IsTest) { DeploymentPackage package; LogHelper.LogMessage(" -- Creating Deployment Package"); package = project.CreateDeploymentPackage(); // Populate Environment Fields foreach (EnvironmentInstance env in environmentManager.CurrentTemplate.Environments) { DeploymentEnvironment depEnv = package.AddEnvironment(env.EnvironmentName); foreach (EnvironmentField field in env.EnvironmentFields) { depEnv.Properties[field.FieldName] = field.Value; } } LogHelper.LogMessage(" -- Setting Package Info"); package.SelectedEnvironment = environmentManager.CurrentEnvironment.EnvironmentName; package.DeploymentLabelName = string.IsNullOrEmpty(DeploymentLabel) ? DateTime.Now.ToString() : DeploymentLabel; package.DeploymentLabelDescription = DeploymentDescription; package.TestOnly = IsTest; LogHelper.LogMessage(" SelectedEnvironment = " + package.SelectedEnvironment); LogHelper.LogMessage(" DeploymentLabelName = " + package.DeploymentLabelName); LogHelper.LogMessage(" DeploymentLabelDescription = " + package.DeploymentLabelDescription); LogHelper.LogMessage(" TestOnly = " + package.TestOnly); // Get the Default SmartObject Server in the Environment // The prefix "$Field=" is when the value of the SmartObject server is registered in the environment fields collection. // this will do a lookup in the environment with the display name of the field, and use the value. // If you set the value directly, no lookups will be performed. EnvironmentField smartObjectServerField = environmentManager.CurrentEnvironment.GetDefaultField(typeof(SmartObjectField)); LogHelper.LogMessage(" -- Setting SmartObject Server ConnectionString"); package.SmartObjectConnectionString = "$Field=" + smartObjectServerField.DisplayName; LogHelper.LogMessage(" SmartObject Server ConnectionString = " + package.SmartObjectConnectionString); // Get the Default Workflow Management Server in the Environment EnvironmentField workflowServerField = environmentManager.CurrentEnvironment.GetDefaultField(typeof(WorkflowManagementServerField)); LogHelper.LogMessage(" -- Setting Workflow Management ConnectionString"); package.WorkflowManagementConnectionString = "$Field=" + workflowServerField.DisplayName; LogHelper.LogMessage(" Workflow Management ConnectionString = " + package.WorkflowManagementConnectionString); return(package); }
private DeploymentPackage GetDeploymentPackage(Project project, EnvironmentSettingsManager environmentManager) { DeploymentPackage package; package = project.CreateDeploymentPackage(); var listEnvirnonments = new List <string>(); // Populate Environment Fields foreach (EnvironmentInstance env in environmentManager.CurrentTemplate.Environments) { listEnvirnonments.Add(env.EnvironmentName); } foreach (var envName in listEnvirnonments) { DeploymentEnvironment depEnv = package.AddEnvironment(envName); Console.WriteLine("\n****************Environment Fields********************* FOR {0}", envName); //////environmentManager.ChangeEnvironment(env.EnvironmentName); InitaliseEnvironmentForSpecifiedEnvironment(environmentManager, envName); foreach (EnvironmentInstance env in environmentManager.CurrentTemplate.Environments) { ////// Console.WriteLine("\n foreach (EnvironmentInstance env in environmentManager.CurrentTemplate.Environments) FOR {0}", env.EnvironmentName); if (env.EnvironmentName.Equals(envName)) { //////Console.WriteLine("\n****env.EnvironmentName.Equals(envName)***** FOR {0} {1}", env.EnvironmentName, envName); foreach (EnvironmentField field in env.EnvironmentFields) { //////Console.WriteLine("\n****************Environment Fields********************* FOR {0}", envName); Console.WriteLine("{0} = {1}", depEnv.Properties[field.FieldName], field.Value); depEnv.Properties[field.FieldName] = field.Value; } } } //////Console.WriteLine("\n**************** InitializeSettingsManager()*********************"); //////environmentManager.InitializeSettingsManager(); //////Console.WriteLine("\n**************** GetEnvironmentFields({0})*********************", environmentManager.CurrentEnvironment.EnvironmentName); //////environmentManager.GetEnvironmentFields(environmentManager.CurrentEnvironment); } package.SelectedEnvironment = environmentManager.CurrentEnvironment.EnvironmentName; package.DeploymentLabelName = DateTime.Now.ToString(); package.DeploymentLabelDescription = string.Empty; package.TestOnly = false; Console.WriteLine("\nEnvironment Info:\n\n"); Console.WriteLine("\nSelectedEnvironment = " + package.SelectedEnvironment); Console.WriteLine("\nDeploymentLabelName = " + package.DeploymentLabelName); Console.WriteLine("\nDeploymentLabelDescription = " + package.DeploymentLabelDescription); Console.WriteLine("\nTestOnly = " + package.TestOnly); // Get the Default SmartObject Server in the Environment // The prefix "$Field=" is when the value of the SmartObject server is registered in the environment fields collection. // this will do a lookup in the environment with the display name of the field, and use the value. // If you set the value directly, no lookups will be performed. EnvironmentField smartObjectServerField = environmentManager.CurrentEnvironment.GetDefaultField(typeof(SmartObjectField)); package.SmartObjectConnectionString = "$Field=" + smartObjectServerField.DisplayName; Console.WriteLine("\npackage.SmartObjectConnectionString = " + package.SmartObjectConnectionString); // Get the Default Workflow Management Server in the Environment EnvironmentField workflowServerField = environmentManager.CurrentEnvironment.GetDefaultField(typeof(WorkflowManagementServerField)); package.WorkflowManagementConnectionString = "$Field=" + workflowServerField.DisplayName; Console.WriteLine("\npackage.WorkflowManagementConnectionString = " + package.WorkflowManagementConnectionString); return(package); }