Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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);
            }
        }