public DefaultAutomationProviderRegistry( INamedServiceFactory <IAutomationConditionProvider> conditionProviderFactory, INamedServiceFactory <IAutomationActionProvider> actionProviderFactory) { _conditionProviderFactory = conditionProviderFactory; _actionProviderFactory = actionProviderFactory; }
public GetDocumentMetadataHandler( INamedServiceFactory <IClassifierRepository> classifierRepositoryFactory, IRepository <FieldMetadata> metadataRepository) { _classifierRepositoryFactory = classifierRepositoryFactory; _metadataRepository = metadataRepository; }
public DeleteClassifierHandler( IUnitOfWorkFactory unitOfWorkFactory, INamedServiceFactory <IClassifierRepository> repositoryFactory) { _unitOfWorkFactory = unitOfWorkFactory; _repositoryFactory = repositoryFactory; }
// todo: use INamedServiceFactory<IClassifierRepository> repositoryFactory public InsertInvitationHandler(IUnitOfWorkFactory unitOfWorkFactory, IDbContextFactory dbContextFactory, INamedServiceFactory <IClassifierRepository> repositoryFactory) { _unitOfWorkFactory = unitOfWorkFactory; _dbContextFactory = dbContextFactory; _repositoryFactory = repositoryFactory; }
public DefaultClassifierRegistrator( ILogger <DefaultClassifierRegistrator> logger, INamedServiceFactory <IClassifierRepository> classifierRepositoryFactory) { _logger = logger; _classifierRepositoryFactory = classifierRepositoryFactory; }
public RegisterPermissionsStartupTask( INamedServiceFactory <IClassifierRepository> classifierRepositoryFactory, IEnumerable <IPermissionProvider> permissionProviders, RoleManager <DbRole> roleManager) { _classifierRepositoryFactory = classifierRepositoryFactory; _permissionProviders = permissionProviders; _roleManager = roleManager; }
public CompositeExecutionServiceProvider( INamedServiceFactory <IExecutionServiceProvider> execServiceProviderFactory, IServiceProvider serviceProvider) { this.execServiceProviderFactory = execServiceProviderFactory ?? throw new ArgumentNullException(nameof(execServiceProviderFactory)); this.serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); }
public DbAutomationRepository( IDbContextFactory dbContextFactory, INamedServiceFactory <IAutomationConditionProvider> conditionProvider, INamedServiceFactory <IAutomationActionProvider> actionProvider, IJsonSerializer jsonSerializer) { _dbContextFactory = dbContextFactory; _conditionProvider = conditionProvider; _actionProvider = actionProvider; _jsonSerializer = jsonSerializer; }
public ExternalRegisterHandler( ILogger <ExternalRegisterHandler> logger, INamedServiceFactory <IClassifierRepository> classifierRepositoryFactory, UserManager <DbUser> userManager, SignInManager <DbUser> signInManager, IEmailConfirmationService emailConfirmationService) { _logger = logger; _classifierRepositoryFactory = classifierRepositoryFactory; _userManager = userManager; _signInManager = signInManager; _emailConfirmationService = emailConfirmationService; }
/// <summary> /// Adds a service to the collection specifying what named dependencies to assign to named parameters. /// </summary> /// <typeparam name="TService">The type of service to add.</typeparam> /// <typeparam name="TImplementation">The implementation type for the service.</typeparam> /// <param name="serviceCollection">The collection of service descriptors.</param> /// <param name="lifetime">The lifetime of the service.</param> /// <param name="dependencies"> /// The collection of named dependencies. /// {registeredType, registeredName, parameterName} /// </param> /// <returns>The <see cref="IServiceCollection"/>.</returns> public static IServiceCollection AddServiceWithNamedDependencies <TService, TImplementation>( this IServiceCollection serviceCollection, ServiceLifetime lifetime, params NamedDependency[] dependencies) where TImplementation : class { INamedServiceFactory[] factories = serviceCollection.Where(x => typeof(INamedServiceFactory).IsAssignableFrom(x.ServiceType)) .Select(x => x.ImplementationInstance).Cast <INamedServiceFactory>().ToArray(); // Gather a set of parameters from our target ttype that best match our named dependencies. ParameterInfo[] parameters = GetMatchingConstructorParameters <TImplementation>(out ConstructorInfo constructorInfo, dependencies); // Create an array of parameter factories that we can pass to our target factory. // We can reuse this for every request keeping overheads low and performance high. var argsFactory = new Func <IServiceProvider, object> [parameters.Length]; for (int i = 0; i < parameters.Length; i++) { ParameterInfo parameter = parameters[i]; string parameterName = parameter.Name; Type parameterType = parameter.ParameterType; NamedDependency dependency = Array.Find(dependencies, x => x.ParameterName == parameterName && parameterType.IsAssignableFrom(x.ServiceType)); if (dependency != default) { INamedServiceFactory factory = Array.Find(factories, x => x.ServiceType == dependency.ServiceType); if (factory != null) { argsFactory[i] = p => factory.Resolve(dependency.ServiceName, p); continue; } } argsFactory[i] = p => p.GetService(parameterType); } serviceCollection.Add(new ServiceDescriptor(typeof(TService), provider => { object[] args = new object[argsFactory.Length]; for (int i = 0; i < argsFactory.Length; i++) { args[i] = argsFactory[i].Invoke(provider); } return(constructorInfo.Invoke(args)); }, lifetime)); return(serviceCollection); }
public CreateCompanyHandler(IUnitOfWorkFactory unitOfWorkFactory, IDbContextFactory dbContextFactory, IDateTimeProvider dateTimeProvider, IRepository <FieldMetadata> fieldMetadataRepository, IFieldDataRepository fieldDataRepository, INamedServiceFactory <IClassifierRepository> classifierRepositoryFactory, IDocumentService documentRepository, IAuditLogService auditLogService, IBackgroundJobManager jobManager) { _unitOfWorkFactory = unitOfWorkFactory; _dbContextFactory = dbContextFactory; _dateTimeProvider = dateTimeProvider; _fieldMetadataRepository = fieldMetadataRepository; _fieldDataRepository = fieldDataRepository; _classifierRepositoryFactory = classifierRepositoryFactory; _documentRepository = documentRepository; _auditLogService = auditLogService; _jobManager = jobManager; }
public SetupSystemHandler(ILogger <SetupSystemHandler> logger, IOptionsMonitor <AppOptions> optionsMonitor, IUnitOfWorkFactory unitOfWorkFactory, INamedServiceFactory <IClassifierRepository> classifierRepositoryFactory, ISignInManager signInManager, ISettingsRepository settingsRepository, IAppUrlBuilder appUrlBuilder, ILocalizer localizer, ISender mediator) { _logger = logger; _optionsMonitor = optionsMonitor; _unitOfWorkFactory = unitOfWorkFactory; _classifierRepositoryFactory = classifierRepositoryFactory; _signInManager = signInManager; _settingsRepository = settingsRepository; _appUrlBuilder = appUrlBuilder; _localizer = localizer; _mediator = mediator; }
public DocumentRecipientResolver(IAutomationContextProvider automationContextProvider, INamedServiceFactory <IClassifierRepository> classifierRepositoryFactory) { _automationContextProvider = automationContextProvider; _classifierRepositoryFactory = classifierRepositoryFactory; }
public CompositeOutputObjectAccessorProvider(IServiceProvider serviceProvider, INamedServiceFactory <IOutputObjectAccessorProvider> accessorProviderFactory) { this.serviceProvider = serviceProvider; this.accessorProviderFactory = accessorProviderFactory; }
public DbNumeratorEntityRepository(IDbContextFactory dbContextFactory, INamedServiceFactory <IEntityNameResolver> entityNameResolverFactory) { _dbContextFactory = dbContextFactory; _entityNameResolverFactory = entityNameResolverFactory; }
public ExportClassifierListHandler(INamedServiceFactory <IClassifierRepository> repositoryFactory) { _repositoryFactory = repositoryFactory; }
public GetAutomationConditionTypeListHandler( INamedServiceFactory <IAutomationConditionProvider> providerFactory) { _providerFactory = providerFactory; }
public ExecutionRequestRouter(INamedServiceFactory <IExecutionProcessor> processorFactory, IServiceProvider serviceProvider) { this.processorFactory = processorFactory; this.serviceProvider = serviceProvider; }
public MustacheTemplateRenderer(INamedServiceFactory <IClassifierRepository> classifierRepositoryFactory) { _classifierRepositoryFactory = classifierRepositoryFactory; }
public CreateClassifierHandler(INamedServiceFactory <IClassifierRepository> repositoryFactory) { _repositoryFactory = repositoryFactory; }
public DocumentNumberTagResolver(IRepository <Document> repository, INamedServiceFactory <IClassifierRepository> classifierRepositoryFactory) { _repository = repository; _classifierRepositoryFactory = classifierRepositoryFactory; }
public DefaultAutomationContextProvider(INamedServiceFactory <IAutomationContextProvider> serviceFactory) { _serviceFactory = serviceFactory; }
public DefaultRecipientResolver(INamedServiceFactory <IRecipientResolver> recipientResolverFactory) { _recipientResolverFactory = recipientResolverFactory; }