Ejemplo n.º 1
0
        /// <summary>
        /// 构造函数
        /// </summary>
        public FlowRuntime(FlowInstance instance)
        {
            dynamic schemeContentJson = Newtonsoft.Json.JsonConvert.DeserializeObject(instance.SchemeContent);//获取工作流模板内容的json对象;

            InitLines(schemeContentJson);
            InitNodes(schemeContentJson);

            currentNodeId   = (string.IsNullOrEmpty(instance.ActivityId)  ? startNodeId : instance.ActivityId);
            currentNodeType = GetNodeType(currentNodeId);
            FormData        = instance.FormData;
            title           = schemeContentJson.title;
            initNum         = schemeContentJson.initNum;
            previousId      = instance.PreviousId;
            flowInstanceId  = instance.Id;

            //会签开始节点和流程结束节点没有下一步
            if (currentNodeType == 0 || currentNodeType == 4)
            {
                nextNodeId   = "-1";
                nextNodeType = -1;
            }
            else
            {
                nextNodeId   = GetNextNodeId();//下一个节点
                nextNodeType = GetNodeType(nextNodeId);
            }
        }
Ejemplo n.º 2
0
 public abstract Task Handle(FlowInstance instance, FlowForm flowForm);