private void FillParameters(ProcessInstance instance, ExecutionResponseParametersComplete newParameters) { foreach (var parameter in newParameters.ParameterContainer) { var parameterDefinition = instance.ProcessScheme.GetNullableParameterDefinition(parameter.Name); if (parameterDefinition != null) { var parameterDefinitionWithValue = ParameterDefinition.Create(parameterDefinition, parameter.Value); instance.AddParameter(parameterDefinitionWithValue); } } }
/// <summary> /// 执行流程起始节点出的初始化活动 /// </summary> /// <param name="processInstance"></param> private void ExecuteRootActivity(ProcessInstance processInstance) { PersistenceProvider.FillProcessParameters(processInstance); processInstance.AddParameter(ParameterDefinition.Create(DefaultDefinitions.ParameterSchemeId, processInstance.SchemeId)); //TODO Убрать после обработки команд try { Bus.QueueExecution(ExecutionRequestParameters.Create(processInstance.ProcessId, processInstance.ProcessParameters, processInstance.ProcessScheme.InitialActivity, ConditionDefinition.Always)); } catch (Exception ex) { Logger.Log.Error(string.Format("Error Execute Root Workflow Id={0}", processInstance.ProcessId), ex); SetProcessNewStatus(processInstance, ProcessStatus.Idled); throw; } }