public bool EvalFlowCondition(TaskInstance ti, ProcessModel.FlowDef fd, ITaskExecutionContext ctx)
        {
            _pd.SetTaskInstanceInfo(ti, ctx);
            string k = DslUtil.FlowConditionKey(fd.Parent.Id, fd.From, fd.To);

            if (!_pd._flowConditions.ContainsKey(k))
            {
                throw new Exception("!no flow cond..");
            }
            _pd.SetTaskInstanceInfo(ti, ctx);
            return(_pd._flowConditions[k]());
        }
Exemple #2
0
 protected void flow_condition(Func <bool> cond, string condString)
 {
     if (_curFlow != null)
     {
         _curFlow.InputCondition = condString;
         _flowConditions[DslUtil.FlowConditionKey(_currentCompositeTask.Id, _curFlow.From, _curFlow.To)] = cond;
     }
     else
     {
         throw new Exception();
     }
 }