Ejemplo n.º 1
0
        public void Initialize(Process process, ResourceDicModel <string> resourceDic)
        {
            try
            {
                _processInstanceRecord = new ProcessInstanceRecord
                {
                    ProcessName = ProcessName, Pid = Pid, StartTime = DateTime.Now
                };

                _processInstanceRecord.Messages.Add(new Message {
                    Description = $"Pid: [{Pid}]"
                });

                //将主流程调用时选定的资源名同步到ProcessInstance当中。
                if (resourceDic != null)
                {
                    ProcessParameterManager.GetDictionaryParam(resourceDic.ResourceDictionaryName)
                    .Replace(resourceDic.DictionaryParameter);
                }

                foreach (var processStep in process.Steps)
                {
                    var step = processStep.Value.CreateInstance(ProcessParameterManager);

                    step.OwnerProcessInstance = this;

                    Steps.Add(processStep.Key, step);
                }
            }
            catch (Exception e)
            {
                Log.Error($"ProcessInstance进行初始化失败,{e.Message}");
            }
        }
Ejemplo n.º 2
0
 public static void CallProcessActionRunInstance(Process process, ResourceDicModel <string> resourceDicModel)
 {
     if (process.AllowAsync)
     {
         Task.Run(() =>
         {
             var initializeProcessInstance = process.InitializeProcessInstance(resourceDicModel);
             process.CreateProcessInstance(initializeProcessInstance, resourceDicModel);
         });
     }
     else
     {
         var initializeProcessInstance = process.InitializeProcessInstance(resourceDicModel);
         process.CreateProcessInstance(initializeProcessInstance, resourceDicModel);
     }
 }