Skip to content

Commit 30fc2ca

Browse files
authored
🔀 Merge pull request #15 from Fedodo/dev
♻️ Updated to IEnumerable
2 parents 2929415 + 1bda765 commit 30fc2ca

File tree

2 files changed

+4
-31
lines changed

2 files changed

+4
-31
lines changed

Fedodo.NuGet.Common/Interfaces/IMongoDbRepository.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,7 @@ public Task<IEnumerable<T>> GetSpecificPaged<T>(string databaseName, string coll
2626
public Task<IEnumerable<T>> GetAllPagedFromCollections<T>(string databaseName, string collectionName, int pageId,
2727
int pageSize, SortDefinition<T> sortDefinition, string foreignCollectionName);
2828

29-
public Task<IEnumerable<T>> GetSpecificPagedFromCollections<T>(string databaseName, string collectionName,
30-
int pageId, int pageSize, SortDefinition<T> sortDefinition, string foreignCollectionName,
31-
FilterDefinition<T> filter);
32-
33-
public Task<long> CountSpecificFromCollections<T>(string databaseName, List<string> collectionNames,
29+
public Task<long> CountSpecificFromCollections<T>(string databaseName, IEnumerable<string> collectionNames,
3430
FilterDefinition<T> filter);
3531

3632
public Task<IEnumerable<T>> GetSpecificPagedFromCollections<T>(string databaseName,

Fedodo.NuGet.Common/Repositories/MongoDbRepository.cs

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -95,30 +95,7 @@ public async Task<IEnumerable<T>> GetAllPagedFromCollections<T>(string databaseN
9595

9696
return result;
9797
}
98-
99-
public async Task<IEnumerable<T>> GetSpecificPagedFromCollections<T>(string databaseName, string collectionName,
100-
int pageId, int pageSize, SortDefinition<T> sortDefinition, string foreignCollectionName,
101-
FilterDefinition<T> filter)
102-
{
103-
_logger.LogTrace($"Getting specific items paged of type: {typeof(T)}");
104-
105-
var database = _client.GetDatabase(databaseName);
106-
var collection = database.GetCollection<T>(collectionName);
107-
var foreignCollection = database.GetCollection<T>(foreignCollectionName);
108-
109-
var result = await collection.Aggregate()
110-
.UnionWith(foreignCollection)
111-
.Match(filter)
112-
.Sort(sortDefinition)
113-
.Skip(pageId * pageSize)
114-
.Limit(pageSize)
115-
.ToListAsync();
116-
117-
_logger.LogTrace($"Finished getting specific items paged of type: {typeof(T)}");
118-
119-
return result;
120-
}
121-
98+
12299
public async Task<IEnumerable<T>> GetSpecificPaged<T>(string databaseName, string collectionName, int pageId,
123100
int pageSize,
124101
SortDefinition<T> sortDefinition, FilterDefinition<T> filter)
@@ -187,13 +164,13 @@ public async Task<long> CountSpecific<T>(string databaseName, string collectionN
187164
return result;
188165
}
189166

190-
public async Task<long> CountSpecificFromCollections<T>(string databaseName, List<string> collectionNames,
167+
public async Task<long> CountSpecificFromCollections<T>(string databaseName, IEnumerable<string> collectionNames,
191168
FilterDefinition<T> filter)
192169
{
193170
_logger.LogTrace($"Counting all items of type: {typeof(T)} in {nameof(CountSpecificFromCollections)}");
194171

195172
var database = _client.GetDatabase(databaseName);
196-
var collection = AggregateCollections<T>(collectionNames, database);
173+
var collection = AggregateCollections<T>(collectionNames.ToList(), database);
197174

198175
var result = (await collection.Match(filter).Count().FirstOrDefaultAsync()).Count;
199176

0 commit comments

Comments
 (0)