public JsonResult ExecCommand(WorkflowRunParameter runParameter) { WorkflowHelper helper = new WorkflowHelper(Sec.User); helper.OpenWorkflow(runParameter.InstanceId, runParameter.ItemId); if (!string.IsNullOrEmpty(runParameter.OpinionContent)) { helper.SetOpinion(HttpUtility.HtmlEncode(runParameter.OpinionContent), runParameter.OpinionArea); } bool result = false; switch (runParameter.Command.ToLower()) { case "run": var form = GetForm(helper) as IFlowFormService; if (form == null || form.CanRunFlow()) { helper.Run(runParameter.RunContext); result = true; } break; case "rollback": result = helper.Rollback(); break; case "pushback": result = helper.Pushback(); break; case "backtoroot": result = helper.PushbackToRoot(); break; case "forceend": result = helper.ForceToEnd(); break; case "switch": helper.Switch(runParameter.RunContext.First()); result = true; break; case "delete": DeleteWorkflow(helper); result = true; break; } return(Json(result)); }