/// <summary>
        /// Restores UI control settings stored in the data parameter.
        /// Converts the activity settings part data to a list of definitions
        /// which can be applied to the available definition listings (web controls)
        /// Assigning a definition to a listing will make it active and visible
        /// </summary>
        /// <param name="data">Contains data about the values of UI controls.</param>
        public void RestoreSettings(ActivitySettingsPartData data)
        {
            this.ResetListings();
            DefinitionsConverter converter = new DefinitionsConverter(data, this.Id);

            for (int i = 0; i < converter.Definitions.Count; i++)
            {
                this.definitionListings[i].Definition = converter.Definitions[i];
            }
        }
        /// <summary>
        /// This method initializes definitions listing with data from the definitions hash table.
        /// </summary>
        /// <param name="definitionsTable">The definitions hash table.</param>
        public void LoadActivitySettings(Hashtable definitionsTable)
        {
            // Convert the update definitions hashtable to a list of update definitions
            // which can be applied to the available update definition listings (web controls)
            // Assigning an update definition to a listing will make it active and visible
            this.ResetListings();
            DefinitionsConverter converter = new DefinitionsConverter(definitionsTable);

            for (int i = 0; i < converter.Definitions.Count; i++)
            {
                this.definitionListings[i].Definition = converter.Definitions[i];
            }
        }
 /// <summary>
 /// This method initializes definitions listing with data from the definitions hash table. 
 /// </summary>
 /// <param name="definitionsTable">The definitions hash table.</param>
 public void LoadActivitySettings(Hashtable definitionsTable)
 {
     // Convert the update definitions hashtable to a list of update definitions
     // which can be applied to the available update definition listings (web controls)
     // Assigning an update definition to a listing will make it active and visible
     this.ResetListings();
     DefinitionsConverter converter = new DefinitionsConverter(definitionsTable);
     for (int i = 0; i < converter.Definitions.Count; i++)
     {
         this.definitionListings[i].Definition = converter.Definitions[i];
     }
 }
 /// <summary>
 /// Restores UI control settings stored in the data parameter. 
 /// Converts the activity settings part data to a list of definitions
 /// which can be applied to the available definition listings (web controls)
 /// Assigning a definition to a listing will make it active and visible
 /// </summary>
 /// <param name="data">Contains data about the values of UI controls.</param>
 public void RestoreSettings(ActivitySettingsPartData data)
 {
     this.ResetListings();
     DefinitionsConverter converter = new DefinitionsConverter(data, this.Id);
     for (int i = 0; i < converter.Definitions.Count; i++)
     {
         this.definitionListings[i].Definition = converter.Definitions[i];
     }
 }
 /// <summary>
 /// Saves the current UI control settings.
 /// Converts the definition listings (web controls) to settings part data entries
 /// If an existing settings part data object (presumably created by the form controller) was supplied,
 /// all settings part data for the definition listings will be added to the existing data
 /// </summary>
 /// <param name="data">The <see cref="ActivitySettingsPartData"/> data created by the form controller.</param>
 /// <returns>Returns <see cref="ActivitySettingsPartData"/>.</returns>
 public ActivitySettingsPartData PersistSettings(ActivitySettingsPartData data)
 {
     DefinitionsConverter converter = new DefinitionsConverter(this.definitionListings, data, this.Id);
     return converter.SettingsPartData;
 }
示例#6
0
        public override Activity GenerateActivityOnWorkflow(SequentialWorkflow workflow)
        {
            Logger.Instance.WriteMethodEntry();

            try
            {
                // Generate a new instance of the Run PowerShell Script activity
                // and add properties based on specified values
                RunPowerShellScript wfa = new RunPowerShellScript
                {
                    ActivityDisplayName = this.activityDisplayName.Value,
                    Advanced = this.advanced.Value,
                    ActivityExecutionCondition = this.activityExecutionCondition.Value,
                    PowerShellUser = this.powerShellUser.Value,
                    PowerShellUserPassword = this.powerShellUserPassword.Value,
                    ImpersonatePowerShellUser = this.impersonatePowerShellUser.Value,
                    ImpersonatePowerShellUserLoadUserProfile = this.loadUserProfile.Value,
                    ImpersonatePowerShellUserLogOnType = this.impersonatePowerShellUser.Value ? GetImpersonationLogOnType(this.impersonationLogOnType.Value) : LogOnType.None,
                    ScriptLocation = GetScriptLocation(this.scriptLocation.Value),
                    Script = this.script.Value,
                    FailOnMissing = this.failOnMissing.Value,
                    InputType = GetInputType(this.inputType.Value),
                    ReturnType = GetReturnType(this.returnType.Value),
                    ReturnValueLookup = this.returnValueLookup.Value
                };

                // Depending on the input type selection,
                // the activity will be configured with parameters or arguments, but not both
                switch (wfa.InputType)
                {
                    case PowerShellInputType.Parameters:
                        {
                            DefinitionsConverter parametersConverter = new DefinitionsConverter(this.parameters.DefinitionListings);
                            wfa.ParametersTable = parametersConverter.DefinitionsTable;
                        }

                        break;
                    case PowerShellInputType.Arguments:
                        {
                            wfa.Arguments = this.FetchArguments();
                        }

                        break;
                }

                return wfa;
            }
            catch (Exception e)
            {
                Logger.Instance.ReportError(e);
                throw;
            }
            finally
            {
                Logger.Instance.WriteMethodExit();
            }
        }
        public override Activity GenerateActivityOnWorkflow(SequentialWorkflow workflow)
        {
            Logger.Instance.WriteMethodEntry();

            try
            {
                // Create a new instance of the GenerateUniqueValue activity and assign
                // dependenty property values based on inputs to standard activity controls
                GenerateUniqueValue wfa = new GenerateUniqueValue
                {
                    ActivityDisplayName = this.activityDisplayName.Value,
                    ActivityExecutionCondition = this.activityExecutionCondition.Value,
                    PublicationTarget = this.publicationTarget.Value,
                    ConflictFilter = this.conflictFilter.Value,
                    QueryLdap = this.queryLdap.Value,
                    UniquenessSeed = this.uniquenessSeed.Value,
                    ValueExpressions = this.FetchValueExpressions()
                };

                DefinitionsConverter ldapQueriesConverter = new DefinitionsConverter(this.ldapQueries.DefinitionListings);
                wfa.LdapQueriesTable = ldapQueriesConverter.DefinitionsTable;

                return wfa;
            }
            catch (Exception e)
            {
                Logger.Instance.ReportError(e);
                throw;
            }
            finally
            {
                Logger.Instance.WriteMethodExit();
            }
        }
        public override Activity GenerateActivityOnWorkflow(SequentialWorkflow workflow)
        {
            Logger.Instance.WriteMethodEntry();

            try
            {
                // Create a new instance of the UpdateResources activity and assign
                // dependenty property values based on inputs to standard activity controls
                UpdateResources wfa = new UpdateResources
                {
                    ActivityDisplayName = this.activityDisplayName.Value,
                    QueryResources = this.queryResources.Value,
                    Advanced = this.advanced.Value,
                    ActivityExecutionCondition = this.activityExecutionCondition.Value,
                    Iteration = this.iteration.Value,
                    ActorType = GetActorType(this.actorType.Value),
                    ActorString = this.actorString.Value,
                    ApplyAuthorizationPolicy = this.applyAuthorizationPolicy.Value,
                    ResolveDynamicGrammar = this.resolveDynamicGrammar.Value
                };

                // Convert the definition listings (web controls) to hash tables which can be serialized to the XOML workflow definition
                // A hash table is used due to issues with deserialization of lists and other structured data
                DefinitionsConverter queriesConverter = new DefinitionsConverter(this.queries.DefinitionListings);
                DefinitionsConverter updatesConverter = new DefinitionsConverter(this.updates.DefinitionListings);
                wfa.QueriesTable = queriesConverter.DefinitionsTable;
                wfa.UpdatesTable = updatesConverter.DefinitionsTable;

                return wfa;
            }
            catch (Exception e)
            {
                Logger.Instance.ReportError(e);
                throw;
            }
            finally
            {
                Logger.Instance.WriteMethodExit();
            }
        }
        /// <summary>
        /// Saves the current UI control settings.
        /// Converts the definition listings (web controls) to settings part data entries
        /// If an existing settings part data object (presumably created by the form controller) was supplied,
        /// all settings part data for the definition listings will be added to the existing data
        /// </summary>
        /// <param name="data">The <see cref="ActivitySettingsPartData"/> data created by the form controller.</param>
        /// <returns>Returns <see cref="ActivitySettingsPartData"/>.</returns>
        public ActivitySettingsPartData PersistSettings(ActivitySettingsPartData data)
        {
            DefinitionsConverter converter = new DefinitionsConverter(this.definitionListings, data, this.Id);

            return(converter.SettingsPartData);
        }
示例#10
0
        public override Activity GenerateActivityOnWorkflow(SequentialWorkflow workflow)
        {
            Logger.Instance.WriteMethodEntry();

            try
            {
                // Create a new instance of the VerifyRequest activity and assign
                // dependenty property values based on inputs to standard activity controls
                VerifyRequest wfa = new VerifyRequest
                {
                    ActivityDisplayName = this.activityDisplayName.Value,
                    Advanced = this.advanced.Value,
                    ActivityExecutionCondition = this.activityExecutionCondition.Value,
                    CheckForConflict = this.checkForConflict.Value,
                    ConflictFilter = this.conflictFilter.Value,
                    ConflictDenialMessage = this.conflictDenialMessage.Value,
                    CheckForRequestConflict = this.checkForRequestConflict.Value,
                    RequestConflictAdvancedFilter = this.requestConflictAdvancedFilter.Value,
                    RequestConflictMatchCondition = this.requestConflictMatchCondition.Value,
                    RequestConflictDenialMessage = this.requestConflictDenialMessage.Value
                };

                // Convert the definition listings (web controls) to a hash table which can be serialized to the XOML workflow definition
                // A hash table is used due to issues with deserialization of lists and other structured data
                DefinitionsConverter converter = new DefinitionsConverter(this.conditions.DefinitionListings);
                wfa.ConditionsTable = converter.DefinitionsTable;

                return wfa;
            }
            catch (Exception e)
            {
                Logger.Instance.ReportError(e);
                throw;
            }
            finally
            {
                Logger.Instance.WriteMethodExit();
            }
        }