Example #1
0
        public virtual JObject Jump(HttpContext context)
        {
            YZRequest request = new YZRequest(context);

            this.ApproveCheck(context);

            int        stepid      = request.GetInt32("StepID", -1);
            int        taskid      = request.GetInt32("TaskID");
            string     toStepName  = request.GetString("ToStepName");
            JObject    jPost       = request.GetPostData <JObject>();
            string     comments    = (string)jPost["comments"];
            string     formdata    = (string)jPost["formdata"];
            List <int> fromStepIDs = jPost["fromStepIDs"].ToObject <List <int> >();

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                //移动审批不保存表单数据
                if (!String.IsNullOrEmpty(formdata))
                {
                    BPMProcess.Post(cn, formdata);
                }

                BPMProcStep step = BPMTask.Jump(cn, taskid, stepid, fromStepIDs.ToArray(), toStepName, comments);

                JObject rv = new JObject();
                rv[YZJsonProperty.success] = true;
                rv["StepName"]             = step.NodeName;
                rv["UserFriendlyName"]     = YZStringHelper.GetUserFriendlyName(step.RecipientAccount, step.RecipientFullName);

                return(rv);
            }
        }