예제 #1
0
        public AuditRepository(MongoDbDatabaseConfiguration configuration, IMongoClient mongoClient, IMongoDbNamingHelper namingHelper = null)
        {
            this.mongoClient = mongoClient;

            databaseName = namingHelper.GetDatabaseName(configuration, "admin");
            mongoClient.GetDatabase(databaseName);
        }
 public UserRepository(MongoDbDatabaseConfiguration configuration,
                       IMongoClient mongoClient)
     : base(configuration,
            mongoClient,
            "MyDatabase",
            null,
            "MyCollectionName")
 {
 }
예제 #3
0
 public UserRepository(MongoDbDatabaseConfiguration configuration,
                       IMongoClient mongoClient,
                       IMongoDbNamingHelper namingHelper)
     : base(configuration,
            mongoClient,
            "MyDatabase",
            namingHelper,
            "MyCollectionName")
 {
 }
예제 #4
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var dbConfiguration = new MongoDbDatabaseConfiguration();

            Configuration
            .GetSection("MongoDb")
            .Bind(dbConfiguration);

            services.AddMongoDbRepository(dbConfiguration);

            services.AddSingleton <IRepository <User, string>, UserRepository>();
            services.AddSingleton <IMongoDbNamingHelper, OverrideNamingConvention>();

            services.AddMvc(opt => opt.EnableEndpointRouting = false);
        }
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var dbConfiguration = new MongoDbDatabaseConfiguration();

            Configuration
            .GetSection("MongoDb")
            .Bind(dbConfiguration);

            services.AddMongoDbRepository(dbConfiguration);

            services.AddSingleton <IRepository <User, string>, UserRepository>();

            services
            .AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }
        protected RepositoryBase(MongoDbDatabaseConfiguration configuration,
                                 IMongoClient mongoClient,
                                 string dbName,
                                 IMongoDbNamingHelper namingHelper = null,
                                 string collectionName             = null)
        {
            MongoClient   = mongoClient;
            Configuration = configuration;

            if (namingHelper == null)
            {
                namingHelper = new DefaultMongoDbNamingHelper();
            }

            if (collectionName == null)
            {
                collectionName = typeof(T).Name;
            }

            CollectionName = namingHelper.GetCollectionName(collectionName);
            DatabaseName   = namingHelper.GetDatabaseName(configuration, dbName);
            Database       = mongoClient.GetDatabase(DatabaseName);
            Collection     = Database.GetCollection <T>(CollectionName);
        }
예제 #7
0
 public string GetDatabaseName(MongoDbDatabaseConfiguration configuration, string dbName)
 {
     return(dbName + "TEST");
 }
예제 #8
0
 public string GetDatabaseName(MongoDbDatabaseConfiguration configuration, string dbName)
 {
     return(string.Concat(dbName, configuration.EnvironmentSuffix));
 }
        public static IServiceCollection AddMongoDbRepository(this IServiceCollection services, MongoDbDatabaseConfiguration configuration)
        {
            bool configurationAlreadyRegisterd = services.Any(x => x.ServiceType == typeof(MongoDbDatabaseConfiguration));

            if (configurationAlreadyRegisterd)
            {
                var descriptor =
                    new ServiceDescriptor(
                        configuration.GetType(),
                        configuration);

                services.Replace(descriptor);
            }

            IMongoClient client = new MongoClient(configuration.ConnectionString);

            services.AddSingleton <IAuditRepository, AuditRepository>();
            services.AddSingleton(client);

            return(services);
        }
예제 #10
0
 public RepositoryHelper(IMongoClient mongoClient, MongoDbDatabaseConfiguration configuration, IMongoDbNamingHelper namingHelper = null)
 {
     this.mongoClient   = mongoClient;
     this.configuration = configuration;
     this.namingHelper  = namingHelper;
 }