public IActivityBuilder Add <T>(Action <T> setupActivity = default, string name = default) where T : class, IActivity { var activity = activityResolver.ResolveActivity(setupActivity); var activityBlueprint = ActivityDefinition.FromActivity(activity); var activityBuilder = new ActivityBuilder(this, activityBlueprint); var activityDescriptor = ActivityDescriber.Describe <T>(); activityBuilder.Name = name; activityBuilder.DisplayName = activityDescriptor.DisplayName; activityBuilder.Description = activityDescriptor.Description; activityBuilders.Add(activityBuilder); return(activityBuilder); }
public static ActivityDefinitionList Discover( this ActivityDefinitionList list, Action <ITypeSourceSelector> selector) { var typeSourceSelector = new TypeSourceSelector(); selector(typeSourceSelector); var serviceCollection = new ServiceCollection(); typeSourceSelector.Populate(serviceCollection, RegistrationStrategy.Replace(ReplacementBehavior.All)); foreach (var service in serviceCollection) { list.Add(ActivityDescriber.Describe(service.ImplementationType)); } return(list); }
private static void AutoAddWorkFlowDefinitions(IServiceCollection services) { var activityDefinitionList = new ActivityDefinitionList(); var definitionProviders = new List <Type>(); services.OnRegistred(context => { if (typeof(IActivity).IsAssignableFrom(context.ImplementationType)) { activityDefinitionList.Add(ActivityDescriber.Describe(context.ImplementationType)); } if (typeof(IWorkflowProvider).IsAssignableFrom(context.ImplementationType)) { definitionProviders.Add(context.ImplementationType); } }); services.Configure <AbpElsaOptions>(options => { options.ActivityDefinitions = activityDefinitionList; options.DefinitionProviders.AddIfNotContains(definitionProviders); }); }
public static ActivityDefinitionList Add <T>(this ActivityDefinitionList list) where T : IActivity { return(list.Add(ActivityDescriber.Describe <T>())); }