public void DeleteProcess(Guid processId) { using (OracleConnection connection = new OracleConnection(ConnectionString)) { WorkflowProcessInstance.Delete(connection, processId); WorkflowProcessInstanceStatus.Delete(connection, processId); WorkflowProcessInstancePersistence.DeleteByProcessId(connection, processId); WorkflowProcessTransitionHistory.DeleteByProcessId(connection, processId); WorkflowProcessTimer.DeleteByProcessId(connection, processId); WorkflowProcessInstance.Commit(connection); } }
public void BindProcessToNewScheme(ProcessInstance processInstance, bool resetIsDeterminingParametersChanged) { using (OracleConnection connection = new OracleConnection(ConnectionString)) { var oldProcess = WorkflowProcessInstance.SelectByKey(connection, processInstance.ProcessId); if (oldProcess == null) { throw new ProcessNotFoundException(); } oldProcess.SchemeId = processInstance.SchemeId; if (resetIsDeterminingParametersChanged) { oldProcess.IsDeterminingParametersChanged = false; } oldProcess.Update(connection); WorkflowProcessInstance.Commit(connection); } }
public void InitializeProcess(ProcessInstance processInstance) { using (OracleConnection connection = new OracleConnection(ConnectionString)) { var oldProcess = WorkflowProcessInstance.SelectByKey(connection, processInstance.ProcessId); if (oldProcess != null) { throw new ProcessAlredyExistsException(); } var newProcess = new WorkflowProcessInstance { Id = processInstance.ProcessId, SchemeId = processInstance.SchemeId, ActivityName = processInstance.ProcessScheme.InitialActivity.Name, StateName = processInstance.ProcessScheme.InitialActivity.State }; newProcess.Insert(connection); WorkflowProcessInstance.Commit(connection); } }