Example #1
0
        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);
                }
            }
        }
Example #2
0
        /// <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;
            }
        }