/// <summary> /// 捕获事件 /// </summary> private void Catching(ZStartEvent element) { string elementType = string.Empty; if (string.IsNullOrEmpty(element.Type)) { elementType = "None"; } else { elementType = element.Type; } element = new ZStartEvent(); Type type = Type.GetType(typeof(IAction).Namespace + "." + elementType + "Action"); IAction act = System.Activator.CreateInstance(type) as IAction; act.Define = element.Define; act.Fire(); if (act.Result.Code == ResultEnum.Success) { CreateToken(); } else if (act.Result.Code == ResultEnum.Fail) { DestroyToken(); } }
public override void Execute(BpmContext context) { Context = context; ZStartEvent starter = Context.Element as ZStartEvent; Catching(starter); Leave(Context); logger.Info("执行" + Context.Element.ID); }