예제 #1
0
 private void StepCollectionFindCallBack(ISequenceStepCollection steps)
 {
     foreach (ISequenceStep step in steps)
     {
         if (null != step.Function)
         {
             StepFindCallBack(step);
         }
     }
 }
예제 #2
0
        public ISequenceStep GetSequenceStep(int sequenceIndex, params int[] stepIndex)
        {
            ISequenceStepCollection stepCollection = Context.SequenceGroup.Sequences[sequenceIndex].Steps;
            ISequenceStep           step           = stepCollection[stepIndex[0]];

            for (int n = 1; n < stepIndex.Length; n++)
            {
                //todo:need to check hasSubSteps()
                //need to check stepIndex valid
                step = step.SubSteps[stepIndex[n]];
            }
            return(step);
        }
예제 #3
0
        private IList <IWarningInfo> CheckSteps(ISequenceStepCollection stepCollection, bool overwriteType, params ISequenceFlowContainer[] arr)
        {
            IList <IWarningInfo> warningList = new List <IWarningInfo>();


            foreach (ISequenceStep step in stepCollection)
            {
                // 校验step
                if (null != step.Function)
                {
                    warningList = warningList.Concat(CheckStep(step, arr, overwriteType)).ToList();
                }
                //检查step是不是function,如果hasSubStep,去校验子substep
                if (step.HasSubSteps == true)
                {
                    warningList = warningList.Concat(CheckSteps(step.SubSteps, overwriteType, arr)).ToList();
                }
            }

            return(warningList);
        }