mirror of
				https://github.com/Biarity/Sieve.git
				synced 2025-11-04 10:49:09 +01:00 
			
		
		
		
	Fix for Issue #19
This commit is contained in:
		@@ -2,14 +2,10 @@
 | 
			
		||||
using Sieve.Models;
 | 
			
		||||
using Sieve.Services;
 | 
			
		||||
using SieveTests.Entities;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace SieveTests.Services
 | 
			
		||||
{
 | 
			
		||||
    public class ApplicationSieveProcessor : SieveProcessor
 | 
			
		||||
	public class ApplicationSieveProcessor : SieveProcessor
 | 
			
		||||
    {
 | 
			
		||||
        public ApplicationSieveProcessor(IOptions<SieveOptions> options, ISieveCustomSortMethods customSortMethods, ISieveCustomFilterMethods customFilterMethods) : base(options, customSortMethods, customFilterMethods)
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,20 +1,12 @@
 | 
			
		||||
using Sieve.Services;
 | 
			
		||||
using SieveTests.Entities;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace SieveTests.Services
 | 
			
		||||
{
 | 
			
		||||
    public class SieveCustomFilterMethods : ISieveCustomFilterMethods
 | 
			
		||||
	public class SieveCustomFilterMethods : ISieveCustomFilterMethods
 | 
			
		||||
    {
 | 
			
		||||
        public IQueryable<Post> IsNew(IQueryable<Post> source, string op, string value)
 | 
			
		||||
        {
 | 
			
		||||
            var result = source.Where(p => p.LikeCount < 100 &&
 | 
			
		||||
                                           p.CommentCount < 5);
 | 
			
		||||
 | 
			
		||||
            return result;
 | 
			
		||||
        }
 | 
			
		||||
        public IQueryable<Post> IsNew(IQueryable<Post> source)
 | 
			
		||||
            => source.Where(p => p.LikeCount < 100 && p.CommentCount < 5);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,23 +1,15 @@
 | 
			
		||||
using Sieve.Services;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using Sieve.Services;
 | 
			
		||||
using SieveTests.Entities;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
 | 
			
		||||
namespace SieveTests.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)
 | 
			
		||||
        public IQueryable<Post> Popularity(IQueryable<Post> source, bool useThenBy) => useThenBy
 | 
			
		||||
            ? ((IOrderedQueryable<Post>)source).ThenBy(p => p.LikeCount)
 | 
			
		||||
            : source.OrderBy(p => p.LikeCount)
 | 
			
		||||
                .ThenBy(p => p.CommentCount)
 | 
			
		||||
                .ThenBy(p => p.DateCreated);
 | 
			
		||||
 | 
			
		||||
            return result;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user