public ISequenceDataContainer Clone() { SequenceStepParameterCollection subStepParameters = null; if (null != this.SubStepParameters) { subStepParameters = new SequenceStepParameterCollection(); ModuleUtils.CloneDataCollection(this.SubStepParameters, subStepParameters); } ParameterDataCollection dataCollection = null; if (null != Parameters) { dataCollection = new ParameterDataCollection(); ModuleUtils.CloneCollection(Parameters, dataCollection); } SequenceStepParameter stepParameter = new SequenceStepParameter() { Index = Constants.UnverifiedIndex, SubStepParameters = subStepParameters, Parameters = dataCollection, Instance = string.Empty, Return = string.Empty }; return(stepParameter); }
public void Initialize(ISequenceFlowContainer parent) { ISequenceStep sequenceStep = parent as ISequenceStep; if (null != sequenceStep.SubSteps && sequenceStep.SubSteps.Count > 0) { this.SubStepParameters = new SequenceStepParameterCollection(); foreach (ISequenceStep subStep in sequenceStep.SubSteps) { SequenceStepParameter stepParameter = new SequenceStepParameter(); stepParameter.Initialize(subStep); this.SubStepParameters.Add(stepParameter); } } else { this.SubStepParameters = null; } IFunctionData functionData = sequenceStep.Function; if (functionData?.Parameters != null && functionData.Parameters.Count > 0) { this.Parameters = functionData.Parameters; } else { this.Parameters = null; } if (null != functionData) { this.Return = functionData.Return; this.Instance = functionData.Instance; } }
public void Initialize(ISequenceFlowContainer flowContainer) { ISequence sequence = flowContainer as ISequence; this.Index = sequence.Index; this.StepParameters = new SequenceStepParameterCollection(); foreach (ISequenceStep sequenceStep in sequence.Steps) { SequenceStepParameter stepParameter = new SequenceStepParameter(); stepParameter.Initialize(sequenceStep); this.StepParameters.Add(stepParameter); } this.VariableValues = new VariableInitValueCollection(); foreach (IVariable variable in sequence.Variables) { VariableInitValue initValue = new VariableInitValue() { Name = variable.Name }; initValue.Initialize(variable); this.VariableValues.Add(initValue); } }