Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
 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>()
                };
 }
Exemplo n.º 3
0
		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;
		}
Exemplo n.º 4
0
 public static ExecutionRequestParameters Create(Guid processId, IEnumerable<ParameterDefinitionWithValue> parameters, ActivityDefinition activityToExecute, ConditionDefinition condition)
 {
     return Create(processId, parameters, activityToExecute, condition, false);
 }
Exemplo n.º 5
0
        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>()
            });
        }