public static ExecutionRequestParameters Create(Guid processId, IEnumerable<ParameterDefinitionWithValue> parameters, ActivityDefinition activityToExecute, ConditionDefinition condition, bool isPreExecution) { List<ActionDefinitionForActivity> implementation = isPreExecution ? activityToExecute.PreExecutionImplemementation : activityToExecute.Implemementation; if (parameters == null) throw new ArgumentNullException("parameters"); var parametersList = parameters.ToList(); var methods = new List<MethodToExecuteInfo>(implementation.Count); var executionParameters = new ExecutionRequestParameters { ProcessId = processId, ConditionType = condition.Type, ConditionResultOnPreExecution = condition.ResultOnPreExecution, ConditionMethod = condition.Type == ConditionType.Action ? GetMethodToExecuteInfo(parametersList, ActionDefinition.Create(condition.Action, 0)) : null, }; methods.AddRange(implementation.Select(method => GetMethodToExecuteInfo(parametersList, method))); var parameters1 = new List<ParameterContainerInfo>(); parameters1.AddRange(parameters.Where(p => p.Name != DefaultDefinitions.ParameterExecutedActivityState.Name).Select(p => new ParameterContainerInfo() { Name = p.Name, Type = p.Type, Value = p.Value })); parameters1.Add(new ParameterContainerInfo{Name = DefaultDefinitions.ParameterExecutedActivityState.Name,Type = DefaultDefinitions.ParameterExecutedActivityState.Type,Value = activityToExecute.State}); executionParameters.ParameterContainer = parameters1.ToArray(); executionParameters.Methods = methods.ToArray(); executionParameters.ActivityName = activityToExecute.Name; return executionParameters; }
public static TransitionDefinition Create(string name, string clasifier, ActivityDefinition from, ActivityDefinition to, TriggerDefinition trigger, ConditionDefinition condition) { TransitionClassifier parsedClassifier; Enum.TryParse(clasifier, true, out parsedClassifier); return new TransitionDefinition() { Name = name, To = to, From = from, Classifier = parsedClassifier, Condition = condition ?? ConditionDefinition.Always, Trigger = trigger ?? TriggerDefinition.Auto, RestrictionsList = new List<RestrictionDefinition>(), OnErrorsList = new List<OnErrorDefinition>() }; }
public static ConditionDefinition Create(string type, ActionDefinitionReference action, string conditionInversion, string resultOnPreExecution) { ConditionType conditionType; bool? nullable; Enum.TryParse<ConditionType>(type, true, out conditionType); ConditionDefinition conditionDefinition = new ConditionDefinition() { Action = action, Type = conditionType, ConditionInversion = (string.IsNullOrEmpty(conditionInversion) ? false : bool.Parse(conditionInversion)) }; ConditionDefinition conditionDefinition1 = conditionDefinition; if (string.IsNullOrEmpty(resultOnPreExecution)) { nullable = null; } else { nullable = new bool?(bool.Parse(resultOnPreExecution)); } conditionDefinition1.ResultOnPreExecution = nullable; return conditionDefinition; }
public static ExecutionRequestParameters Create(Guid processId, IEnumerable<ParameterDefinitionWithValue> parameters, ActivityDefinition activityToExecute, ConditionDefinition condition) { return Create(processId, parameters, activityToExecute, condition, false); }
public static TransitionDefinition Create(string name, string clasifier, ActivityDefinition from, ActivityDefinition to, TriggerDefinition trigger, ConditionDefinition condition) { TransitionClassifier parsedClassifier; Enum.TryParse(clasifier, true, out parsedClassifier); return(new TransitionDefinition() { Name = name, To = to, From = from, Classifier = parsedClassifier, Condition = condition ?? ConditionDefinition.Always, Trigger = trigger ?? TriggerDefinition.Auto, RestrictionsList = new List <RestrictionDefinition>(), OnErrorsList = new List <OnErrorDefinition>() }); }