+ Upgraded packages
+ Added GetByMax, GetByMaxAsync, GetByMin, GetByMinAsync, GetMaxValue and GetMaxValueAsync Methods (GetMinValue and GetMinValueAsync will come in another PR) + Added tests
This commit is contained in:
@@ -1,4 +1,9 @@
|
||||
using MongoDbGenericRepository;
|
||||
using MongoDB.Driver;
|
||||
using MongoDbGenericRepository;
|
||||
using MongoDbGenericRepository.Models;
|
||||
using System;
|
||||
using System.Linq.Expressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace IntegrationTests.Infrastructure
|
||||
{
|
||||
@@ -18,5 +23,20 @@ namespace IntegrationTests.Infrastructure
|
||||
{
|
||||
MongoDbContext.DropCollection<TDocument>(partitionKey);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the max of a property in a mongodb collections that is satisfying the filter.
|
||||
/// </summary>
|
||||
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||
/// <returns></returns>
|
||||
public async Task<TDocument> GetByMaxAsync<TDocument, TKey>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByDescending)
|
||||
where TDocument : IDocument<TKey>
|
||||
where TKey : System.IEquatable<TKey>
|
||||
{
|
||||
return await GetCollection<TDocument, TKey>().Find(Builders<TDocument>.Filter.Where(filter))
|
||||
.SortByDescending(orderByDescending)
|
||||
.FirstOrDefaultAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user