dotnet-dynamic-linq/PoweredSoft.DynamicLinq/Fluent/OrderBy/OrderByBuilder.cs

31 lines
662 B
C#
Raw Normal View History

using PoweredSoft.DynamicLinq.Helpers;
using System;
using System.Linq;
using System.Text;
namespace PoweredSoft.DynamicLinq.Fluent
{
2018-03-14 19:23:23 -04:00
public class OrderByBuilder<T> : OrderByBuilderBase
{
public IQueryable<T> Query { get; }
2018-03-14 19:17:25 -04:00
public OrderByBuilder(IQueryable<T> query)
{
Query = query;
}
public virtual IQueryable<T> Build()
{
var query = Query;
Sorts.ForEach(sort =>
{
query = QueryableHelpers.CreateOrderByExpression(query, sort.Path, sort.sortDirection, sort.AppendSort);
});
return query;
}
}
}