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); }
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); }