mirror of
https://github.com/Biarity/Sieve.git
synced 2024-11-25 23:03:36 +01:00
21 lines
588 B
C#
21 lines
588 B
C#
using System.Linq;
|
|
using Sieve.Services;
|
|
using SieveUnitTests.Entities;
|
|
|
|
namespace SieveUnitTests.Services
|
|
{
|
|
public class SieveCustomSortMethods : ISieveCustomSortMethods
|
|
{
|
|
public IQueryable<Post> Popularity(IQueryable<Post> source, bool useThenBy, bool desc)
|
|
{
|
|
var result = useThenBy ?
|
|
((IOrderedQueryable<Post>)source).ThenBy(p => p.LikeCount) :
|
|
source.OrderBy(p => p.LikeCount)
|
|
.ThenBy(p => p.CommentCount)
|
|
.ThenBy(p => p.DateCreated);
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|