Example #1
0
        public object Model(int id = 0, int infoId = 0)
        {
            if (id == 0 && infoId == 0)
            {
                throw new Exception("缺少参数ID或InfoID");
            }
            FlowData flowData = null;

            if (id > 0)
            {
                flowData = Core.FlowDataManager.Get(id);
            }
            else if (infoId > 0)
            {
                var info = Core.FormInfoManager.GetModel(infoId);
                flowData = info.FlowData;
            }
            if (flowData == null)
            {
                return(BadRequest("参数不正确,没有获取到流程数据"));
            }
            var flowNodeData = flowData.GetUserLastNodeData(Identity.ID);
            var lastNodeData = flowData.GetLastNodeData();

            return(new
            {
                flowData,
                flowNodeData = lastNodeData,
                freeFlowNodeData = lastNodeData.GetLastFreeNodeData(Identity.ID),
                canBack = Core.FlowDataManager.CanBack(flowData),
                canSubmitFlow = Core.FlowDataManager.CanSubmit(flowData, flowNodeData),
                canComplete = Core.FlowDataManager.CanComplete(flowData.Flow, lastNodeData),
                canSubmitFreeFlow = Core.FreeFlowDataManager.CanSubmit(flowData, Identity.ID),
            });
        }