Exemplo n.º 1
0
        public override void EndBuiness(TransInfoDto transInfoDto)
        {
            // 启动新流程,记录到流程的ID,任务ID等信息
            IPersistence p = transInfoDto.Persistence;
            // 结束当前点状态
            NSNodeInfo     nsNodeInfo = p.GetActivityByID(transInfoDto.InstanceNodeId);
            NSInstanceInfo nsInstance = p.GetInsanceInfo(nsNodeInfo.InstanceId);
            NSTemplateInfo nsTemplate = p.GetTemplateInfo(nsInstance.TemplateId);

            p.FinishActivity(nsNodeInfo);
            //TODO: 产生新的节点,如果在回归之后继续执行逻辑,则要有全局的传递,以后在进行添加
            var nextActivities = XmlHelper.GetAllNextActivities(nsTemplate.TemplateText, nsNodeInfo.NodeId);

            if (nextActivities != null)
            {
                new RoutingHost().RoutingFactory(nextActivities.ToList(), transInfoDto);
            }
            base.EndBuiness(transInfoDto);
        }