/// <summary> /// /// </summary> /// <param name="httpProxy"></param> /// <param name="connectorProvider"></param> /// <param name="loggerFactory"></param> public DefaultUserServiceProxy(IHttpClientProxy httpProxy, ExternalConnectorProvider connectorProvider, ILoggerFactory loggerFactory) { this.httpProxy = httpProxy; this.connectorProvider = connectorProvider; logger = loggerFactory.CreateLogger <DefaultUserServiceProxy>(); }
public static string Url(string url) { ExternalConnectorProvider provider = ProcessEngineServiceProvider.Resolve <ExternalConnectorProvider>(); return(provider.ResolveUrl(url)); }
public SendTaskActivityBehavior() { externalConnector = ProcessEngineServiceProvider.Resolve <ExternalConnectorProvider>(); }
/// <summary> /// /// </summary> /// <param name="applicationLifetime"></param> public WorkflowUsersController(IApplicationLifetime applicationLifetime, ExternalConnectorProvider externalConnectorProvider) { this.applicationLifetime = applicationLifetime; this.externalConnectorProvider = externalConnectorProvider; }
/// <inheritdoc /> public GetDeptLeaderBookmarkRuleCmd() { externalConnector = ProcessEngineServiceProvider.Resolve <ExternalConnectorProvider>(); }
// CREATE METHODS public virtual IExecutionEntity CreateProcessInstanceExecution(IProcessDefinition processDefinition, string businessKey, string tenantId, string initiatorVariableName) { IExecutionEntity processInstanceExecution = executionDataManager.Create(); if (ExecutionRelatedEntityCountEnabledGlobally) { ((ICountingExecutionEntity)processInstanceExecution).IsCountEnabled = true; } processInstanceExecution.ProcessDefinitionId = processDefinition.Id; processInstanceExecution.ProcessDefinitionKey = processDefinition.Key; processInstanceExecution.ProcessDefinitionName = processDefinition.Name; processInstanceExecution.ProcessDefinitionVersion = processDefinition.Version; processInstanceExecution.BusinessKey = businessKey; processInstanceExecution.IsScope = true; // process instance is always a scope for all child executions // Inherit tenant id (if any) if (tenantId is object) { processInstanceExecution.TenantId = tenantId; } string authenticatedUserId = Authentication.AuthenticatedUser.Id; processInstanceExecution.StartTime = Context.ProcessEngineConfiguration.Clock.CurrentTime; processInstanceExecution.StartUserId = authenticatedUserId; processInstanceExecution.StartUser = Authentication.AuthenticatedUser.FullName; // Store in database Insert(processInstanceExecution, false); if (string.IsNullOrWhiteSpace(processInstanceExecution.StartUserId) == false) { IUserInfo starter = null; IUserServiceProxy userService = ProcessEngineServiceProvider.Resolve <IUserServiceProxy>(); ExternalConnectorProvider externalConnector = ProcessEngineServiceProvider.Resolve <ExternalConnectorProvider>(); starter = new UserInfo { Id = processInstanceExecution.StartUserId, FullName = processInstanceExecution.StartUserId }; //TODO: 考虑性能问题,暂时不要获取人员信息 //try //{ // starter = AsyncHelper.RunSync<IUserInfo>(() => userService.GetUser(processInstanceExecution.StartUserId)); // starter.TenantId = processInstanceExecution.TenantId; //} //catch (Exception ex) //{ // logger.LogError(ex, ex.Message); // starter = new UserInfo // { // Id = processInstanceExecution.StartUserId, // FullName = processInstanceExecution.StartUserId // }; //} //保存调用用户变量 processInstanceExecution.SetVariable(processInstanceExecution.StartUserId, starter); } if (initiatorVariableName is object) { processInstanceExecution.SetVariable(initiatorVariableName, authenticatedUserId); } // Need to be after insert, cause we need the id processInstanceExecution.ProcessInstanceId = processInstanceExecution.Id; processInstanceExecution.RootProcessInstanceId = processInstanceExecution.Id; //TODO: 当没有用户任务的时候,添加identity会报错 if (authenticatedUserId is object) { IdentityLinkEntityManager.AddIdentityLink(processInstanceExecution, authenticatedUserId, null, IdentityLinkType.STARTER); } // Fire events if (EventDispatcher.Enabled) { EventDispatcher.DispatchEvent(ActivitiEventBuilder.CreateEntityEvent(ActivitiEventType.ENTITY_CREATED, processInstanceExecution)); } return(processInstanceExecution); }