public string StartProcess(string definitionId, Dictionary <string, object> inputData) { string ret = null; RunProcessTransaction(this.DefaultPersistenceMode, ps => { var pd = this.GetProcessDef(definitionId); var pscript = this.GetProcessScriptRuntime(definitionId); string instanceId = Guid.NewGuid().ToString("N"); ProcessInstance pi = new ProcessInstance { InstanceId = instanceId, ProcessDefinitionId = definitionId, ProcessInstanceId = instanceId, TaskId = pd.Body.Id }; pi.Activate(ps, pd, pscript); ps.PersisterSession.SaveNew(pi); pi.Enable(inputData); pi.Deactivate(); ps.PersisterSession.Update(pi); ret = pi.InstanceId; }); return(ret); }
public string StartProcess(string definitionId, Dictionary <string, object> inputData) { string ret = null; RunProcessTransaction(this.DefaultPersistenceMode, ps => { var pd = this.GetProcessDef(definitionId); var pscript = this.GetProcessScriptRuntime(definitionId); var instanceId = Guid.NewGuid().ToString("N"); var pi = new ProcessInstance { InstanceId = instanceId, ProcessDefinitionId = definitionId, ProcessInstanceId = instanceId, TaskId = pd.Body.Id }; pi.Activate(ps, pd, pscript); ps.TaskPersister.SaveNew(pi); log.Info( $"\n --- Created process {pi.ProcessDefinitionId} instance {pi.InstanceId}. Data: {Jsonizer.ToJsonString(inputData)}"); pi.Enable(inputData); pi.Deactivate(); ps.TaskPersister.Update(pi); ret = pi.InstanceId; }); return(ret); }