Exemple #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RepositoryDatabase"/> class.
        /// </summary>
        /// <param name="settings">The settings.</param>
        public RepositoryDatabase(IRepoCatDbSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            MongoClient client = new MongoClient(settings.ConnectionString);

            this.database     = client.GetDatabase(settings.DatabaseName);
            this.projects     = this.database.GetCollection <ProjectInfo>(settings.ProjectsCollectionName);
            this.repositories = this.database.GetCollection <RepositoryInfo>(settings.RepositoriesCollectionName);
            this.ConfigureIndexes();
        }
Exemple #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RepositoryDatabase"/> class.
        /// </summary>
        /// <param name="settings">The settings.</param>
        public StatisticsDatabase(IRepoCatDbSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            MongoClient    client   = new MongoClient(settings.ConnectionString);
            IMongoDatabase database = client.GetDatabase(settings.DatabaseName);

            this.searchStatisticsCollection    = database.GetCollection <SearchStatistics>(settings.SearchStatisticsCollectionName ?? nameof(SearchStatistics));
            this.downloadsStatisticsCollection = database.GetCollection <DownloadStatistics>(settings.DownloadsStatisticsCollectionName ?? nameof(DownloadStatistics));
            this.ConfigureIndexes();
        }