/// <summary>
        /// Constructor
        /// </summary>
        /// <param name="settings"></param>
        /// <param name="collectionName"></param>
        /// <param name="actionBinder"></param>
        protected DynamicMongoRepository(IDatabaseSettings settings, string collectionName, IRepositoryActionBinder actionBinder = null)
        {
            var connectionString = ConnectionStringHelper.GenerateConnectionString(settings);
            var client           = new MongoClient(connectionString);
            var database         = client.GetDatabase(settings.DefaultAuthDatabase);

            this.Collection         = database.GetCollection <dynamic>(collectionName);
            this.DocumentCollection = database.GetCollection <BsonDocument>(collectionName);

            this._actionBinder = actionBinder;
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="settings"></param>
        /// <param name="collectionName"></param>
        /// <param name="actionBinder"></param>
        protected MongoRepositoryBase(IDatabaseSettings settings, string collectionName, IRepositoryActionBinder actionBinder = null)
        {
            var connectionString = ConnectionStringHelper.GenerateConnectionString(settings);
            var client           = new MongoClient(connectionString);
            var database         = client.GetDatabase(settings.DefaultAuthDatabase);

            this.Collection = database.GetCollection <TEntity>(collectionName);
            this.CreateSearchIndexesAsync().ConfigureAwait(false).GetAwaiter().GetResult();

            this.actionBinder = actionBinder;
        }
示例#3
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="settings"></param>
 /// <param name="actionBinder"></param>
 public UserRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "users", actionBinder)
 {
 }
示例#4
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="settings"></param>
 /// <param name="actionBinder"></param>
 public MembershipRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "memberships", actionBinder)
 {
 }
示例#5
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="settings"></param>
 /// <param name="actionBinder"></param>
 public MailHookRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "mailhooks", actionBinder)
 {
 }
示例#6
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="settings"></param>
 /// <param name="actionBinder"></param>
 public WebhookRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "webhooks", actionBinder)
 {
 }
示例#7
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="settings"></param>
 /// <param name="actionBinder"></param>
 public ApplicationRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "applications", actionBinder)
 {
 }
示例#8
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="settings"></param>
 /// <param name="actionBinder"></param>
 public RoleRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "roles", actionBinder)
 {
 }
示例#9
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="settings"></param>
 /// <param name="actionBinder"></param>
 public EventRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "events", actionBinder)
 {
 }