using System.Collections.Generic; using System.Linq; using Tapeti.Config; // ReSharper disable UnusedMember.Global namespace Tapeti.Flow.SQL { /// /// Extends ITapetiConfigBuilder to enable Flow SQL. /// public static class ConfigExtensions { /// /// Enables the Flow SQL repository. /// /// /// /// public static ITapetiConfigBuilder WithFlowSqlRepository(this ITapetiConfigBuilder config, string connectionString, string tableName = "Flow") { config.Use(new FlowSqlRepositoryExtension(connectionString, tableName)); return config; } } internal class FlowSqlRepositoryExtension : ITapetiExtension { private readonly string connectionString; private readonly string tableName; public FlowSqlRepositoryExtension(string connectionString, string tableName) { this.connectionString = connectionString; this.tableName = tableName; } public void RegisterDefaults(IDependencyContainer container) { container.RegisterDefaultSingleton(() => new SqlConnectionFlowRepository(connectionString, tableName)); } public IEnumerable GetMiddleware(IDependencyResolver dependencyResolver) { return Enumerable.Empty(); } } }