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 ProcessStatus GetInstanceStatus(Guid processId) { using (OracleConnection connection = new OracleConnection(ConnectionString)) { var instance = WorkflowProcessInstanceStatus.SelectByKey(connection, processId); if (instance == null) { return(ProcessStatus.NotFound); } var status = ProcessStatus.All.SingleOrDefault(ins => ins.Id == instance.Status); if (status == null) { return(ProcessStatus.Unknown); } return(status); } }
public void DeleteProcess(Guid processId) { using (SqlConnection connection = new SqlConnection(ConnectionString)) { connection.Open(); using (var transaction = connection.BeginTransaction()) { WorkflowProcessInstance.Delete(connection, processId, transaction); WorkflowProcessInstanceStatus.Delete(connection, processId, transaction); WorkflowProcessInstancePersistence.DeleteByProcessId(connection, processId, transaction); WorkflowProcessTransitionHistory.DeleteByProcessId(connection, processId, transaction); WorkflowProcessTimer.DeleteByProcessId(connection, processId, null, transaction); transaction.Commit(); } } }
/// <summary> /// 设置WorkflowProcessInstanceStatus新的状态 /// </summary> /// <param name="processId"></param> /// <param name="status"></param> private void SetCustomStatus(Guid processId, ProcessStatus status) { using (TransactionScope serializableSupressedScope = PredefinedTransactionScopes.SerializableSupressedScope) { using (WorkflowPersistenceModelDataContext workflowPersistenceModelDataContext = base.CreateContext()) { WorkflowProcessInstanceStatus workflowProcessInstanceStatus = workflowPersistenceModelDataContext.WorkflowProcessInstanceStatus.SingleOrDefault((WorkflowProcessInstanceStatus wpis) => wpis.Id == processId); if (workflowProcessInstanceStatus == null) { throw new StatusNotDefinedException(); } workflowProcessInstanceStatus.Status = status.Id; workflowPersistenceModelDataContext.SubmitChanges(); } serializableSupressedScope.Complete(); } }
public void SetWorkflowRunning(ProcessInstance processInstance) { using (NpgsqlConnection connection = new NpgsqlConnection(ConnectionString)) { var instanceStatus = WorkflowProcessInstanceStatus.SelectByKey(connection, processInstance.ProcessId); if (instanceStatus == null) { throw new StatusNotDefinedException(); } if (instanceStatus.Status == ProcessStatus.Running.Id) { throw new ImpossibleToSetStatusException(); } instanceStatus.Lock = Guid.NewGuid(); instanceStatus.Status = ProcessStatus.Running.Id; instanceStatus.Update(connection); } }
public void SetWorkflowIniialized(ProcessInstance processInstance) { var dbcoll = Store.GetCollection <WorkflowProcessInstanceStatus>(MongoDBConstants.WorkflowProcessInstanceStatusCollectionName); var instanceStatus = dbcoll.FindOneById(processInstance.ProcessId); if (instanceStatus == null) { instanceStatus = new WorkflowProcessInstanceStatus() { Id = processInstance.ProcessId, Lock = Guid.NewGuid(), Status = ProcessStatus.Initialized.Id }; dbcoll.Insert(instanceStatus); } else { instanceStatus.Status = ProcessStatus.Initialized.Id; dbcoll.Save(instanceStatus); } }
private void SetCustomStatus(Guid processId, ProcessStatus status, bool createIfnotDefined = false) { using (SqlConnection connection = new SqlConnection(ConnectionString)) { var instanceStatus = WorkflowProcessInstanceStatus.SelectByKey(connection, processId); if (instanceStatus == null) { if (!createIfnotDefined) { throw new StatusNotDefinedException(); } instanceStatus = new WorkflowProcessInstanceStatus() { Id = processId, Lock = Guid.NewGuid(), Status = ProcessStatus.Initialized.Id }; instanceStatus.Insert(connection); } else { var oldLock = instanceStatus.Lock; instanceStatus.Status = status.Id; instanceStatus.Lock = Guid.NewGuid(); var cnt = WorkflowProcessInstanceStatus.ChangeStatus(connection, instanceStatus, oldLock); if (cnt != 1) { throw new ImpossibleToSetStatusException(); } } } }
public void SetWorkflowIniialized(ProcessInstance processInstance) { using (var session = Store.OpenSession()) { var instanceStatus = session.Load <WorkflowProcessInstanceStatus>(processInstance.ProcessId); if (instanceStatus == null) { instanceStatus = new WorkflowProcessInstanceStatus() { Id = processInstance.ProcessId, Lock = Guid.NewGuid(), Status = ProcessStatus.Initialized.Id }; session.Store(instanceStatus); } else { instanceStatus.Status = ProcessStatus.Initialized.Id; } session.SaveChanges(); } }
public void SetWorkflowIniialized(ProcessInstance processInstance) { using (TransactionScope serializableSupressedScope = PredefinedTransactionScopes.SerializableSupressedScope) { using (WorkflowPersistenceModelDataContext workflowPersistenceModelDataContext = base.CreateContext()) { WorkflowProcessInstanceStatus workflowProcessInstanceStatus = workflowPersistenceModelDataContext.WorkflowProcessInstanceStatus.SingleOrDefault((WorkflowProcessInstanceStatus wpis) => wpis.Id == processInstance.ProcessId); if (workflowProcessInstanceStatus == null) { workflowProcessInstanceStatus = new WorkflowProcessInstanceStatus { Id = processInstance.ProcessId, Lock = Guid.NewGuid(), Status = ProcessStatus.Initialized.Id }; workflowPersistenceModelDataContext.WorkflowProcessInstanceStatus.InsertOnSubmit(workflowProcessInstanceStatus); } else { workflowProcessInstanceStatus.Status = ProcessStatus.Initialized.Id; } workflowPersistenceModelDataContext.SubmitChanges(); } serializableSupressedScope.Complete(); } }
partial void DeleteWorkflowProcessInstanceStatus(WorkflowProcessInstanceStatus instance);
partial void UpdateWorkflowProcessInstanceStatus(WorkflowProcessInstanceStatus instance);
partial void InsertWorkflowProcessInstanceStatus(WorkflowProcessInstanceStatus instance);