private IEnumerable <ParameterDefinitionWithValue> GetPersistedProcessParameters(Guid processId, ProcessDefinition processDefinition) { var persistenceParameters = processDefinition.PersistenceParameters.ToList(); var parameters = new List <ParameterDefinitionWithValue>(persistenceParameters.Count()); List <WorkflowProcessInstancePersistence> persistedParameters; using (var session = Store.OpenSession()) { var process = session.Load <WorkflowProcessInstance>(processId); if (process != null && process.Persistence != null) { persistedParameters = process.Persistence.Where(WorkflowProcessInstancep => persistenceParameters.Select(pp => pp.Name).Contains(WorkflowProcessInstancep.ParameterName)).ToList(); } else { persistedParameters = new List <WorkflowProcessInstancePersistence>(); } } foreach (var persistedParameter in persistedParameters) { var parameterDefinition = persistenceParameters.Single(p => p.Name == persistedParameter.ParameterName); parameters.Add(ParameterDefinition.Create(parameterDefinition, _runtime.DeserializeParameter(persistedParameter.Value, parameterDefinition.Type))); } return(parameters); }
private IEnumerable <ParameterDefinitionWithValue> GetPersistedProcessParameters(Guid processId, ProcessDefinition processDefinition) { var persistenceParameters = processDefinition.PersistenceParameters.ToList(); var parameters = new List <ParameterDefinitionWithValue>(persistenceParameters.Count()); List <WorkflowProcessInstancePersistence> persistedParameters; using (PredefinedTransactionScopes.ReadUncommittedSupressedScope) { using (var context = CreateContext()) { persistedParameters = context.WorkflowProcessInstancePersistences.Where( wpip => wpip.ProcessId == processId).ToList(); } } foreach (var persistedParameter in persistedParameters) { var parameterDefinition = persistenceParameters.FirstOrDefault(p => p.Name == persistedParameter.ParameterName); if (parameterDefinition == null) { parameterDefinition = ParameterDefinition.Create(persistedParameter.ParameterName, "System.String", ParameterPurpose.Persistence.ToString(), null); } parameters.Add(ParameterDefinition.Create(parameterDefinition, _runtime.DeserializeParameter(persistedParameter.Value, parameterDefinition.Type))); } return(parameters); }
private IEnumerable <ParameterDefinitionWithValue> GetPersistedProcessParameters(Guid processId, ProcessDefinition processDefinition) { var persistenceParameters = processDefinition.PersistenceParameters.ToList(); var parameters = new List <ParameterDefinitionWithValue>(persistenceParameters.Count()); List <WorkflowProcessInstancePersistence> persistedParameters; using (PredefinedTransactionScopes.ReadUncommittedSupressedScope) { using (var context = CreateContext()) { persistedParameters = context.WorkflowProcessInstancePersistences.Where( wpip => wpip.ProcessId == processId && persistenceParameters.Select(pp => pp.Name).Contains(wpip.ParameterName)).ToList(); } } foreach (var persistedParameter in persistedParameters) { var parameterDefinition = persistenceParameters.Single(p => p.Name == persistedParameter.ParameterName); parameters.Add(ParameterDefinition.Create(parameterDefinition, _runtime.DeserializeParameter(persistedParameter.Value, parameterDefinition.Type))); } return(parameters); }
private IEnumerable <ParameterDefinitionWithValue> GetPersistedProcessParameters(Guid processId, ProcessDefinition processDefinition) { var persistenceParameters = processDefinition.PersistenceParameters.ToList(); var parameters = new List <ParameterDefinitionWithValue>(persistenceParameters.Count()); List <WorkflowProcessInstancePersistence> persistedParameters; var dbcoll = Store.GetCollection <WorkflowProcessInstance>(MongoDBConstants.WorkflowProcessInstanceCollectionName); { var process = dbcoll.FindOneById(processId); if (process != null && process.Persistence != null) { persistedParameters = process.Persistence.Where(WorkflowProcessInstancep => persistenceParameters.Select(pp => pp.Name).Contains(WorkflowProcessInstancep.ParameterName)).ToList(); } else { persistedParameters = new List <WorkflowProcessInstancePersistence>(); } } foreach (var persistedParameter in persistedParameters) { var parameterDefinition = persistenceParameters.Single(p => p.Name == persistedParameter.ParameterName); parameters.Add(ParameterDefinition.Create(parameterDefinition, _runtime.DeserializeParameter(persistedParameter.Value, parameterDefinition.Type))); } return(parameters); }
private IEnumerable <ParameterDefinitionWithValue> GetPersistedProcessParameters(Guid processId, ProcessDefinition processDefinition) { var persistenceParameters = processDefinition.PersistenceParameters.ToList(); var parameters = new List <ParameterDefinitionWithValue>(persistenceParameters.Count()); List <WorkflowProcessInstancePersistence> persistedParameters; using (NpgsqlConnection connection = new NpgsqlConnection(ConnectionString)) { persistedParameters = WorkflowProcessInstancePersistence.SelectByProcessId(connection, processId) .Where(WorkflowProcessInstancep => persistenceParameters.Select(pp => pp.Name).Contains(WorkflowProcessInstancep.ParameterName)).ToList(); } foreach (var persistedParameter in persistedParameters) { var parameterDefinition = persistenceParameters.Single(p => p.Name == persistedParameter.ParameterName); parameters.Add(ParameterDefinition.Create(parameterDefinition, _runtime.DeserializeParameter(persistedParameter.Value, parameterDefinition.Type))); } return(parameters); }
private IEnumerable <ParameterDefinitionWithValue> GetPersistedProcessParameters(Guid processId, ProcessDefinition processDefinition) { var persistenceParameters = processDefinition.PersistenceParameters.ToList(); var parameters = new List <ParameterDefinitionWithValue>(persistenceParameters.Count()); List <WorkflowProcessInstancePersistence> persistedParameters; using (NpgsqlConnection connection = new NpgsqlConnection(ConnectionString)) { persistedParameters = WorkflowProcessInstancePersistence.SelectByProcessId(connection, processId).ToList(); } foreach (var persistedParameter in persistedParameters) { var parameterDefinition = persistenceParameters.FirstOrDefault(p => p.Name == persistedParameter.ParameterName); if (parameterDefinition == null) { parameterDefinition = ParameterDefinition.Create(persistedParameter.ParameterName, "System.String", ParameterPurpose.Persistence.ToString(), null); } parameters.Add(ParameterDefinition.Create(parameterDefinition, _runtime.DeserializeParameter(persistedParameter.Value, parameterDefinition.Type))); } return(parameters); }