Exemplo n.º 1
0
        //public static ICoolBrainsServiceBuilder AddCosmosDbMongoDbProvider(this ICoolBrainsServiceBuilder builder)
        //{
        //    return AddCosmosDbMongoDbProvider(builder, opt => { });
        //}

        public static ICoolBrainsServiceBuilder AddMongoDbProvider(this ICoolBrainsServiceBuilder builder, IConfiguration configuration)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            //if (setupAction == null)
            //{
            //    throw new ArgumentNullException(nameof(setupAction));
            //}

            //builder.Services.Configure(setupAction);

            builder.Services.Configure <DbConnectionDetails>(configuration.GetSection("DbConnectionDetails"));

            //builder.Services.AddScoped<IRepository, ClassicMongoRepository>();

            builder.Services.AddScoped <TenantSpecificDbConnectionBuilder>();
            builder.Services.AddScoped <IRepository, TenantSpecificMongoRepository>();
            builder.Services.AddScoped <IDomainStore, DomainStore>();


            return(builder);
        }
Exemplo n.º 2
0
 public static ICoolBrainsServiceBuilder AddAuth(this ICoolBrainsServiceBuilder builder, IConfiguration configuration, Action <JwtBearerOptions> configureOptions = null, JwtBearerEvents bearerEvents = null)
 {
     builder.Services.AddScoped <UserContext>();
     builder.Services.AddScoped <RequestInfo>();
     builder.Services.AddTransient <IOauthAccessTokenGenerator, OauthAccessTokenGenerator>();
     builder.Services.Configure <TokenConfig>(configuration.GetSection("TokenConfig"));
     builder.Services.AddJwtBearerAuthentication(configuration);
     return(builder);
 }
Exemplo n.º 3
0
        public static ICoolBrainsServiceBuilder AddRabbitMqProvider(this ICoolBrainsServiceBuilder builder, IConfiguration configuration)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }
            builder.Services.AddMassTransit();
            builder.Services.Configure <RabbitConfig>(configuration.GetSection("RabbitConfig"))
            .AddScoped <IBusMessageDispatcher, BusMessageDispatcher>()
            .AddScoped <ITopicClient, TopicClient>()
            .AddScoped <IQueueClient, QueueClient>();

            return(builder);
        }
Exemplo n.º 4
0
 public static void Start(this ICoolBrainsServiceBuilder builder)
 {
     Initialize();
     _busControl.Start();
 }
Exemplo n.º 5
0
 public static ICoolBrainsServiceBuilder Listen(this ICoolBrainsServiceBuilder builder, Action <IRabbitMqReceiveEndpointConfigurator> queueConfiguration = null)
 {
     _rabbitConfig = builder.Services.BuildServiceProvider().GetService <IOptions <RabbitConfig> >().Value;
     _queueConfigurations.Add(_rabbitConfig.QueueName, queueConfiguration);
     return(builder);
 }