2018-03-14 19:12:22 -04:00
|
|
|
|
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
|
2018-03-14 19:12:22 -04:00
|
|
|
|
{
|
|
|
|
|
public IQueryable<T> Query { get; }
|
|
|
|
|
|
2018-03-14 19:17:25 -04:00
|
|
|
|
public OrderByBuilder(IQueryable<T> query)
|
2018-03-14 19:12:22 -04:00
|
|
|
|
{
|
|
|
|
|
Query = query;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public virtual IQueryable<T> Build()
|
|
|
|
|
{
|
|
|
|
|
var query = Query;
|
|
|
|
|
|
|
|
|
|
Sorts.ForEach(sort =>
|
|
|
|
|
{
|
2018-03-14 19:26:30 -04:00
|
|
|
|
query = QueryableHelpers.CreateOrderByExpression(query, sort.Path, sort.sortDirection, sort.AppendSort);
|
2018-03-14 19:12:22 -04:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return query;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|