예제 #1
0
        private static void EditEnvironment(EnvironmentSettingsManager environmentSettingsManager, string EnvironmentName, string EnvironmentDesc, string EnvironmentId, bool IsDefault)
        {
            EnvironmentInstance environment = environmentSettingsManager.EnvironmentTemplates.FindEnvironment(EnvironmentId);

            environment.EnvironmentName        = EnvironmentName;
            environment.EnvironmentDescription = EnvironmentDesc;
            environment.IsDefaultEnvironment   = IsDefault;

            environment.SaveUpdate();
        }
예제 #2
0
        private void LoadDefaultEnvironmentFields()
        {
            bool mutexCreated;

            MutexSecurity mutexsecurity = new MutexSecurity();

            mutexsecurity.AddAccessRule(new MutexAccessRule(new SecurityIdentifier(WellKnownSidType.WorldSid, null), MutexRights.Synchronize | MutexRights.Modify, AccessControlType.Allow));
            envMutex = new Mutex(false, "Global\\environmentMutext", out mutexCreated, mutexsecurity);
            envMutex.WaitOne();
            Dictionary <string, string> tempEnv            = new Dictionary <string, string>();
            EnvironmentSettingsManager  environmentManager = new EnvironmentSettingsManager(false, true);

            environmentManager.ConnectToServer(BaseAPIConnectionString);
            environmentManager.InitializeSettingsManager();


            EnvironmentInstance env = environmentManager.EnvironmentTemplates.DefaultTemplate.DefaultEnvironment;

            if (!string.IsNullOrEmpty(EnvironmentToUseConfiguration))
            {
                env = environmentManager.EnvironmentTemplates.DefaultTemplate.Environments[EnvironmentToUseConfiguration];
            }

            environmentManager.GetEnvironmentFields(env);
            foreach (EnvironmentField field in env.EnvironmentFields)
            {
                // For some reason, a environment can have 2 environment fields with the same name. Go figure.
                if (!tempEnv.ContainsKey(field.FieldName))
                {
                    tempEnv.Add(field.FieldName, field.Value);
                }
            }

            if (!tempEnv.ContainsKey("SmartForms Runtime"))
            {
                foreach (EnvironmentField field in env.EnvironmentFields)
                {
                    if (field.IsDefaultField && string.Compare(field.FieldTypeId, "EC07ABC1-259D-40CE-9485-04EEB3E5DCF0", true) == 0)
                    {
                        tempEnv.Add("SmartForms Runtime", field.Value);
                        break;
                    }
                }
            }

            environmentFields = tempEnv;
            envMutex.ReleaseMutex();
        }
예제 #3
0
        private static void AddEnvironment(EnvironmentSettingsManager environmentSettingsManager, string EnvironmentName, string EnvironmentDesc, string EnvironmentId, string TemplateName, bool IsDefault)
        {
            EnvironmentId = System.Guid.NewGuid().ToString();

            // Create a new environment instance with the given values.
            EnvironmentInstance environment = new EnvironmentInstance(EnvironmentId, EnvironmentName, EnvironmentDesc);

            environment.IsDefaultEnvironment = IsDefault;

            InitializeEnvironmentSettingsManager(out environmentSettingsManager);

            var template = environmentSettingsManager.EnvironmentTemplates.GetItemByName(TemplateName);

            // Add new environment to the EnvironmentInstanceCollection
            template.Environments.Add(environment);
        }
        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);
        }