Пример #1
0
        /// <summary>
        /// Gets an EnvironmentSettingsManager for the specified environment.
        /// </summary>
        /// <param name="ConnStr">The K2 connection string.</param>
        /// <param name="EnvName">The targetted K2 environment.</param>
        /// <param name="UseCache">Use local K2 Environment Cache?</param>
        /// <returns>
        /// An EnvironmentSettingsManager object containing settings
        /// for the specified environment
        /// </returns>
        public static EnvironmentSettingsManager GetEnvironmentManager(
            string ConnStr, string EnvName, bool LocalOnly)
        {
            LogHelper.LogMessage("   -- Creating K2 Environment Manager");
            LogHelper.LogMessage("   -- Use Local Environment Cache = " + LocalOnly.ToString());
            EnvironmentSettingsManager environmentManager = new EnvironmentSettingsManager(false, true);

            environmentManager.ConnectionString = ConnStr;

            // Use the Local Environment Cache only.  Do not connect to the K2 Server
            if (LocalOnly)
            {
                environmentManager.WorkOffline = true;

                LogHelper.LogMessage("   -- Loading Environment Cache");
                environmentManager.LoadCache();
            }
            // Connect to the K2 Server to retrieve the Environment settings
            else
            {
                LogHelper.LogMessage("   -- Connecting Environment Manager to K2 Server");
                environmentManager.ConnectToServer();

                LogHelper.LogMessage("   -- Refreshing Environment");
                environmentManager.Refresh();

                LogHelper.LogMessage("   -- Saving Environment to local cache");
                environmentManager.SaveCache();
            }

            LogHelper.LogMessage("   -- Setting the Environment to " + EnvName);
            if (!string.IsNullOrEmpty(EnvName))
            {
                environmentManager.ChangeEnvironment(EnvName);
            }

            LogHelper.LogMessage("   -- Initializing Environment Settings Manager");
            environmentManager.InitializeSettingsManager();

            LogHelper.LogMessage("   -- Getting the Environment fields");
            if (environmentManager.CurrentEnvironment == null)
            {
                throw new ArgumentException("Environment does not exist!");
            }
            else
            {
                environmentManager.GetEnvironmentFields(environmentManager.CurrentEnvironment);
            }

            return(environmentManager);
        }
        public static DeploymentPackage GetPackage(string environmentServer,
                                                   string destinationTemplate, string destinationEnvironment,
                                                   Project project, bool testOnly)
        {
            //Create connection string to environment server
            var envionmentServerConnection = EnvionmentServerConnection(environmentServer);
            //Retrieve the environments from the server
            EnvironmentSettingsManager environmentManager = new
                                                            EnvironmentSettingsManager(true);

            environmentManager.ConnectToServer(envionmentServerConnection);
            environmentManager.InitializeSettingsManager(true);
            environmentManager.Refresh();

            //Get the template and environment objects.
            EnvironmentTemplate template    = environmentManager.EnvironmentTemplates[destinationTemplate];
            EnvironmentInstance environment = template.Environments[destinationEnvironment];
            //Create the package
            DeploymentPackage package = project.CreateDeploymentPackage();

            //Set all of the environment fields to the package
            DeploymentEnvironment deploymentEnv =
                package.AddEnvironment(environment.EnvironmentName);

            foreach (EnvironmentField field in environment.EnvironmentFields)
            {
                deploymentEnv.Properties[field.FieldName] = field.Value;
            }

            //Set fields on the package
            package.SelectedEnvironment        = destinationEnvironment;
            package.DeploymentLabelName        = DateTime.Now.ToString(CultureInfo.InvariantCulture);
            package.DeploymentLabelDescription =
                "Template: " + destinationTemplate + ",Environment: " + destinationEnvironment;
            package.TestOnly = testOnly;
            //Get the Default SmartObject Server in the Environment
            //environment.GetDefaultField(typeof(SmartObjectField));
            package.SmartObjectConnectionString = envionmentServerConnection;
            //Get the Default Workflow Management Server in the Environment
            //environment.GetDefaultField(typeof(WorkflowManagementServerField));
            package.WorkflowManagementConnectionString = envionmentServerConnection;

            return(package);
        }
Пример #3
0
        /// <summary>
        /// Gets an EnvironmentSettingsManager for the specified environment.
        /// </summary>
        /// <param name="ConnStr">The K2 connection string.</param>
        /// <param name="EnvName">The targetted K2 environment.</param>
        /// <param name="UseCache">Use local K2 Environment Cache?</param>
        /// <returns>
        /// An EnvironmentSettingsManager object containing settings 
        /// for the specified environment
        /// </returns>
        public static EnvironmentSettingsManager GetEnvironmentManager(
            string ConnStr, string EnvName, bool LocalOnly)
        {
            LogHelper.LogMessage("   -- Creating K2 Environment Manager");
            LogHelper.LogMessage("   -- Use Local Environment Cache = " + LocalOnly.ToString());
            EnvironmentSettingsManager environmentManager = new EnvironmentSettingsManager(false, true);

            environmentManager.ConnectionString = ConnStr;

            // Use the Local Environment Cache only.  Do not connect to the K2 Server
            if (LocalOnly)
            {
                environmentManager.WorkOffline = true;

                LogHelper.LogMessage("   -- Loading Environment Cache");
                environmentManager.LoadCache();
            }
            // Connect to the K2 Server to retrieve the Environment settings
            else
            {
                LogHelper.LogMessage("   -- Connecting Environment Manager to K2 Server");
                environmentManager.ConnectToServer();

                LogHelper.LogMessage("   -- Refreshing Environment");
                environmentManager.Refresh();

                LogHelper.LogMessage("   -- Saving Environment to local cache");
                environmentManager.SaveCache();
            }

            LogHelper.LogMessage("   -- Setting the Environment to " + EnvName);
            if (!string.IsNullOrEmpty(EnvName))
                environmentManager.ChangeEnvironment(EnvName);

            LogHelper.LogMessage("   -- Initializing Environment Settings Manager");
            environmentManager.InitializeSettingsManager();

            LogHelper.LogMessage("   -- Getting the Environment fields");
            if (environmentManager.CurrentEnvironment == null)
            {
                throw new ArgumentException("Environment does not exist!");
            }
            else
            {
                environmentManager.GetEnvironmentFields(environmentManager.CurrentEnvironment);
            }

            return environmentManager;
        }