// /Demo/SubmitDayOff
        public ActionResult SubmitDayOff(demo_dayoff model, string uid)
        {
            //验证表单是否完整
            if (!model.day.HasValue() || !model.userid.HasValue())
            {
                return(Json(State.Fail, "请假信息不完整"));
            }
            //创建实例
            var result = _workFlowService.CreateInstance("TEST-DAYOFF", uid);
            //移动节点
            var msg = _workFlowService.MoveNext(result, new { }, "system", "表单填写完整");

            //移动结果
            if (msg.Successful)
            {
                model.demo_dayoff_id = result.Instance.WorkFlowInstanceID; //业务表主键和实例id相同便于查找
                model.submit_time    = DateTime.Now;                       //取当前时间
                if (_dayoff.Add(model).HasValue())
                {
                    return(Json(State.Success, "请假申请已提交,请耐心等待审核结果"));
                }
            }
            return(Json(State.Fail, "请假提交失败,请重试"));
        }
示例#2
0
        // /Demo/TestWorkFlow
        public ActionResult TestWorkFlow()
        {
            const string DEMO_WORKFLOWID = "test-dayoff";
            const string DEMO_OPERATOR   = "panda";
            //----------创建实例
            var instance = _workFlowService.CreateInstance(DEMO_WORKFLOWID); var instanceId = instance.Instance.WorkFlowInstanceID;
            //检测完成状态
            var isFinished = _workFlowService.IsFinished(instance);
            //查看下一步的任务
            var nextStepInfo = instance.NextStepInfo();
            //移动到下一状态(B)
            var resultB = _workFlowService.MoveNext(instance, new { WriteFormOK = 1 }, DEMO_OPERATOR);

            //---------查找实例
            instance   = _workFlowService.FindInstance(instanceId);
            isFinished = _workFlowService.IsFinished(instance);
            var nextStepInfoB = instance.NextStepInfo();
            //移动到下一状态(C)
            var resultC = _workFlowService.MoveNext(instance, new { Day = 4, TeacherChecked = 1 }, DEMO_OPERATOR);

            //---------查找实例
            instance   = _workFlowService.FindInstance(instanceId);
            isFinished = _workFlowService.IsFinished(instance);
            var nextStepInfoC = instance.NextStepInfo();
            //--强制移动,忽略条件
            var forceNodeId = nextStepInfoC.FirstOrDefault().ToNodeId;
            //移动到下一状态(D)
            var resultD = _workFlowService.MoveNext(instance, forceNodeId, DEMO_OPERATOR);

            //var resultD = _workFlowService.MoveNext(instance, new { DepartmentChecked = 1 }, DEMO_OPERATOR);
            //---------查找实例
            instance   = _workFlowService.FindInstance(instanceId);
            isFinished = _workFlowService.IsFinished(instance);
            var nextStepInfoD = instance.NextStepInfo();

            return(Alert("测试成功!"));
        }
 // 激活实例 GET: /WorkFlow/Create?uid=1325112033&wfid=TEST-DAYOFF
 public ActionResult Create(string uid, string wfid)
 {
     return(Json(State.Success, _workFlowService.CreateInstance(wfid, uid).Instance));
 }