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,
             RootProcessId   = processInstance.RootProcessId,
             ParentProcessId = processInstance.ParentProcessId
         };
         newProcess.Insert(connection);
         WorkflowProcessInstance.Commit(connection);
     }
 }