/// <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; }
/// <summary> /// Constructor /// </summary> /// <param name="settings"></param> /// <param name="actionBinder"></param> public UserRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "users", actionBinder) { }
/// <summary> /// Constructor /// </summary> /// <param name="settings"></param> /// <param name="actionBinder"></param> public MembershipRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "memberships", actionBinder) { }
/// <summary> /// Constructor /// </summary> /// <param name="settings"></param> /// <param name="actionBinder"></param> public MailHookRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "mailhooks", actionBinder) { }
/// <summary> /// Constructor /// </summary> /// <param name="settings"></param> /// <param name="actionBinder"></param> public WebhookRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "webhooks", actionBinder) { }
/// <summary> /// Constructor /// </summary> /// <param name="settings"></param> /// <param name="actionBinder"></param> public ApplicationRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "applications", actionBinder) { }
/// <summary> /// Constructor /// </summary> /// <param name="settings"></param> /// <param name="actionBinder"></param> public RoleRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "roles", actionBinder) { }
/// <summary> /// Constructor /// </summary> /// <param name="settings"></param> /// <param name="actionBinder"></param> public EventRepository(IDatabaseSettings settings, IRepositoryActionBinder actionBinder) : base(settings, "events", actionBinder) { }