Esempio n. 1
0
 public void AddTransition(string transitionID, string TransitionName, string actdefIDFrom, string actdefIDTo)
 {
     Transition item = new Transition();
     Actdef actdef = this.GetActdef(actdefIDFrom);
     Actdef actdef2 = this.GetActdef(actdefIDTo);
     item.Id = transitionID;
     item.Name = TransitionName;
     item.From = actdef;
     item.To = actdef2;
     item.Description = "";
     actdef.Froms.Add(item);
     actdef2.Tos.Add(item);
     this.CurrentUnitOfWork.RegisterNew(item);
     this.mWFTRANSITIONs.Add(transitionID, item);
 }
Esempio n. 2
0
 public static IList<Actdef> GetToInteractionActdefs(Transition tran)
 {
     List<Actdef> list = new List<Actdef>(1);
     Actdef to = tran.To;
     if (to.Type == ActdefType.INTERACTION)
     {
         list.Add(to);
         return list;
     }
     foreach (Transition transition in to.Froms)
     {
         list.AddRange(GetToInteractionActdefs(transition));
     }
     return list;
 }
 protected void Pass(Transition toTran)
 {
     if (LoggingService.IsDebugEnabled)
     {
         LoggingService.DebugFormatted("将对路由:{0}({1})进行共{2}个转出的条件测试", new object[] { toTran.Id, toTran.Name, toTran.Conditions.Count });
     }
     foreach (SkyMap.Net.Workflow.XPDL.Condition condition in toTran.Conditions)
     {
         if (!this.wfActivity.CheckCondition(condition))
         {
             throw new NotMeetConditionException();
         }
     }
     this.CreateNextActivity(toTran.To);
 }