private static Constraint SetOperationNames(TypeParameterIndex typeParameterIndex) { DelegateInArgument <Activity> element = new DelegateInArgument <Activity>(); DelegateInArgument <ValidationContext> context = new DelegateInArgument <ValidationContext>(); DelegateInArgument <Activity> child = new DelegateInArgument <Activity>(); Variable <Type> iWorkflowActivityType = new Variable <Type>(); return(new Constraint <Activity> { Body = new ActivityAction <Activity, ValidationContext> { Argument1 = element, Argument2 = context, Handler = new Sequence { Variables = { iWorkflowActivityType }, Activities = { new ForEach <Activity> { Values = new GetParentChain { ValidationContext = context, }, Body = new ActivityAction <Activity> { Argument = child, Handler = new If { Condition = new InArgument <bool>((env) => child.Get(env).IsWorkflowActivity()), Then = new Assign <Type> { Value = new InArgument <Type>((env) => child.Get(env).GetWorkflowActivityType()), To = iWorkflowActivityType, }, }, }, }, new OperationNamesSetter(typeParameterIndex) { Activity = new InArgument <Activity>((env) => element.Get(env)), IWorkflowActivityType = new InArgument <Type>((env) => iWorkflowActivityType.Get(env)), }, }, }, }, }); }
public OperationNamesSetter(TypeParameterIndex typeParameterIndex) { this.typeParameterIndex = typeParameterIndex; }
public OperationNamesSetter(TypeParameterIndex typeParameterIndex) { this.typeParameterIndex = typeParameterIndex; }
private static Constraint SetOperationNames(TypeParameterIndex typeParameterIndex) { DelegateInArgument<Activity> element = new DelegateInArgument<Activity>(); DelegateInArgument<ValidationContext> context = new DelegateInArgument<ValidationContext>(); DelegateInArgument<Activity> child = new DelegateInArgument<Activity>(); Variable<Type> iWorkflowActivityType = new Variable<Type>(); return new Constraint<Activity> { Body = new ActivityAction<Activity, ValidationContext> { Argument1 = element, Argument2 = context, Handler = new Sequence { Variables = { iWorkflowActivityType }, Activities = { new ForEach<Activity> { Values = new GetParentChain { ValidationContext = context, }, Body = new ActivityAction<Activity> { Argument = child, Handler = new If { Condition = new InArgument<bool>((env) => child.Get(env).IsWorkflowActivity()), Then = new Assign<Type> { Value = new InArgument<Type>((env) => child.Get(env).GetWorkflowActivityType()), To = iWorkflowActivityType, }, }, }, }, new OperationNamesSetter(typeParameterIndex) { Activity = new InArgument<Activity>((env) => element.Get(env)), IWorkflowActivityType = new InArgument<Type>((env) => iWorkflowActivityType.Get(env)), }, }, }, }, }; }