Exemple #1
0
        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._conds.ContainsKey(k))
            {
                throw new Exception("!no flow cond..");
            }
            _pd.SetTaskInstanceInfo(ti, ctx);
            return(_pd._conds[k]());
        }
 protected void GenerateScript(CompositeTaskDef ct)
 {
     GenerateBaseTaskScripts(ct);
     foreach (var fl in ct.Flows)
     {
         if (!string.IsNullOrEmpty(fl.InputCondition))
         {
             GenCondition(DslUtil.FlowConditionKey(ct.Id, fl.From, fl.To), fl.InputCondition);
         }
     }
     foreach (var t in ct.Tasks)
     {
         GenerateScript(t);
     }
 }