Exemple #1
0
        /// <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();
            }
        }
Exemple #2
0
        public override void Execute(BpmContext context)
        {
            Context = context;
            ZStartEvent starter = Context.Element as ZStartEvent;

            Catching(starter);
            Leave(Context);

            logger.Info("执行" + Context.Element.ID);
        }