public SendBackProcess ( IDbConnection conn, Slickflow.Engine.Common.WfAppRunner sender, IDbTransaction trans ) : |
||
conn | IDbConnection | 连接 |
sender | Slickflow.Engine.Common.WfAppRunner | 退回人 |
trans | IDbTransaction | 事务 |
return |
public ResponseResult SendBackProcess(WfAppRunner runner) { IWorkflowService wfService = new WorkflowService(); IDbConnection conn = SessionFactory.CreateConnection(); IDbTransaction trans = null; try { trans = conn.BeginTransaction(); var result = wfService.SendBackProcess(conn, runner, trans); if (result.Status == WfExecutedStatus.Success) { trans.Commit(); return ResponseResult.Success(); } else { trans.Rollback(); return ResponseResult.Error(result.Message); } } catch (WorkflowException w) { trans.Rollback(); return ResponseResult.Error(w.Message); } finally { trans.Dispose(); if (conn.State == ConnectionState.Open) conn.Close(); } }
/// <summary> /// 退回流程 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSendback_Click(object sender, EventArgs e) { WfAppRunner appRunner = new WfAppRunner(); appRunner.ProcessGUID = process_guid; appRunner.AppInstanceID = application_instance_id; appRunner.AppName = "WallwaOrder"; appRunner.UserID = "13"; appRunner.UserName = "******"; IWorkflowService wfService = new WorkflowService(); var result = wfService.SendBackProcess(appRunner); var msg = string.Format("流程退回结果:{0}\r\n", result.Status); textBox1.Text += msg; }