private async Task UpdateRouteEntriesAsync(WorkflowContext context)
        {
            var workflow     = context.Workflow;
            var workflowType = await _workflowTypeStore.GetAsync(workflow.WorkflowTypeId);

            var entries = WorkflowRouteEntries.GetWorkflowRoutesEntries(workflowType, context.Workflow, _activityLibrary);

            _workflowRouteEntries.AddEntries(entries);
        }
예제 #2
0
        private void ConfigureWorkflowRouteEntries(IServiceProvider serviceProvider, IDictionary <string, WorkflowType> workflowTypeDictionary, IDictionary <int, Workflow> workflowDictionary)
        {
            var activityLibrary          = serviceProvider.GetRequiredService <IActivityLibrary>();
            var workflowTypeRouteEntries = serviceProvider.GetRequiredService <IWorkflowTypeRouteEntries>();
            var workflowEntries          = serviceProvider.GetRequiredService <IWorkflowInstanceRouteEntries>();

            var workflowTypeRouteEntryQuery =
                from workflowType in workflowTypeDictionary.Values
                from entry in WorkflowTypeRouteEntries.GetWorkflowTypeRoutesEntries(workflowType, activityLibrary)
                select entry;

            var workflowRouteEntryQuery =
                from workflow in workflowDictionary.Values
                from entry in WorkflowRouteEntries.GetWorkflowRoutesEntries(workflowTypeDictionary[workflow.WorkflowTypeId], workflow, activityLibrary)
                select entry;

            workflowTypeRouteEntries.AddEntries(workflowTypeRouteEntryQuery);
            workflowEntries.AddEntries(workflowRouteEntryQuery);
        }