public MongoDbFixtureInitializer(IMongoDatabase database,
                                  IMongoDbSeeder seeder,
                                  MongoDbOptions options)
 {
     _seeder = seeder;
     _seed   = options.Seed;
 }
Example #2
0
        public static IConveyBuilder AddMongo(this IConveyBuilder builder, string sectionName = SectionName,
                                              IMongoDbSeeder seeder = null)
        {
            var mongoOptions = builder.GetOptions <MongoDbOptions>(sectionName);

            return(builder.AddMongo(mongoOptions, seeder));
        }
Example #3
0
 public MongoDbInitializer(IMongoDatabase database,
                           IMongoDbSeeder seeder,
                           MongoOptions options)
 {
     _database = database;
     _seeder   = seeder;
     _seed     = options.Seed;
 }
 public MongoDbInitializer(IMongoDatabase database,
                           IMongoDbSeeder seeder,
                           MongoDbSettings settings)
 {
     _database = database;
     _seeder   = seeder;
     _settings = settings;
 }
Example #5
0
 public MongoDbInitializer(IMongoDatabase database,
                           IMongoDbSeeder seeder,
                           MongoDbOptions options)
 {
     _database = database;
     _seeder   = seeder;
     _seed     = options.Seed;
     BsonDefaults.GuidRepresentation = GuidRepresentation.CSharpLegacy;
 }
Example #6
0
        public static IConveyBuilder AddMongo(this IConveyBuilder builder, string sectionName = SectionName,
                                              IMongoDbSeeder seeder = null)
        {
            if (string.IsNullOrWhiteSpace(sectionName))
            {
                sectionName = SectionName;
            }

            var mongoOptions = builder.GetOptions <MongoDbOptions>(sectionName);

            return(builder.AddMongo(mongoOptions, seeder));
        }
Example #7
0
        public static IConveyBuilder AddMongo(this IConveyBuilder builder, MongoDbOptions mongoOptions,
                                              IMongoDbSeeder seeder = null)
        {
            if (!builder.TryRegister(RegistryName))
            {
                return(builder);
            }

            builder.Services.AddSingleton(mongoOptions);

            builder.Services.AddSingleton <IMongoClient>(sp =>
            {
                var options = sp.GetService <MongoDbOptions>();
                return(new MongoClient(options.ConnectionString));
            });

            builder.Services.AddTransient(sp =>
            {
                var options = sp.GetService <MongoDbOptions>();
                var client  = sp.GetService <MongoClient>();
                return(client.GetDatabase(options.Database));
            });

            builder.Services.AddTransient <IMongoDbInitializer, MongoDbInitializer>();
            builder.Services.AddTransient <IMongoSessionFactory, MongoSessionFactory>();

            if (seeder is null)
            {
                builder.Services.AddSingleton <IMongoDbSeeder, MongoDbSeeder>();
            }
            else
            {
                builder.Services.AddSingleton(seeder);
            }

            builder.AddInitializer <IMongoDbInitializer>();

            return(builder);
        }
Example #8
0
        public static IConveyBuilder AddMongo(this IConveyBuilder builder, Func <IMongoDbOptionsBuilder,
                                                                                 IMongoDbOptionsBuilder> buildOptions, IMongoDbSeeder seeder = null)
        {
            var mongoOptions = buildOptions(new MongoDbOptionsBuilder()).Build();

            return(builder.AddMongo(mongoOptions, seeder));
        }
Example #9
0
 public MongoDbInitializer(IMongoDatabase mongoDatabase, IMongoDbSeeder seeder, Options options)
 {
     _mongoDatabase = mongoDatabase ?? throw new ArgumentNullException(nameof(mongoDatabase));
     _seeder        = seeder ?? throw new ArgumentNullException(nameof(seeder));
     _requiredSeed  = options.Seed;
 }
Example #10
0
 public MongoDbInitializer(IMongoDbSeeder mongoDbSeeder, MongoDbOptions options)
 {
     _mongoDbSeeder = mongoDbSeeder;
     _seed          = options.Seed;
 }