refactoring.
This commit is contained in:
		
							parent
							
								
									cc6fc09d79
								
							
						
					
					
						commit
						b5331a7837
					
				@ -1,74 +1,12 @@
 | 
			
		||||
using PoweredSoft.DynamicLinq.Helpers;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
 | 
			
		||||
namespace PoweredSoft.DynamicLinq.Fluent
 | 
			
		||||
{
 | 
			
		||||
    public class SortBuilderBase
 | 
			
		||||
    {
 | 
			
		||||
        public List<OrderByPart> Sorts { get; protected set; } = new List<OrderByPart>();
 | 
			
		||||
 | 
			
		||||
        public virtual SortBuilderBase Sort(string path, QuerySortDirection sortDirection, bool appendSort)
 | 
			
		||||
        {
 | 
			
		||||
            Sorts.Add(new OrderByPart
 | 
			
		||||
            {
 | 
			
		||||
                Path = path,
 | 
			
		||||
                sortDirection = sortDirection,
 | 
			
		||||
                AppendSort = appendSort
 | 
			
		||||
            });
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public virtual SortBuilderBase OrderBy(string path)
 | 
			
		||||
        {
 | 
			
		||||
            Sorts.Clear();
 | 
			
		||||
            Sorts.Add(new OrderByPart
 | 
			
		||||
            {
 | 
			
		||||
                Path = path,
 | 
			
		||||
                sortDirection = QuerySortDirection.Ascending,
 | 
			
		||||
                AppendSort = false
 | 
			
		||||
            });
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public virtual SortBuilderBase OrderByDescending(string path)
 | 
			
		||||
        {
 | 
			
		||||
            Sorts.Clear();
 | 
			
		||||
            Sorts.Add(new OrderByPart
 | 
			
		||||
            {
 | 
			
		||||
                Path = path,
 | 
			
		||||
                sortDirection = QuerySortDirection.Descending,
 | 
			
		||||
                AppendSort = false
 | 
			
		||||
            });
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public virtual SortBuilderBase ThenBy(string path)
 | 
			
		||||
        {
 | 
			
		||||
            Sorts.Add(new OrderByPart
 | 
			
		||||
            {
 | 
			
		||||
                Path = path,
 | 
			
		||||
                sortDirection = QuerySortDirection.Ascending,
 | 
			
		||||
                AppendSort = true
 | 
			
		||||
            });
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public virtual SortBuilderBase ThenByDescending(string path)
 | 
			
		||||
        {
 | 
			
		||||
            Sorts.Add(new OrderByPart
 | 
			
		||||
            {
 | 
			
		||||
                Path = path,
 | 
			
		||||
                sortDirection = QuerySortDirection.Descending,
 | 
			
		||||
                AppendSort = true
 | 
			
		||||
            });
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class OrderByBuilder<T> : SortBuilderBase
 | 
			
		||||
    public class OrderByBuilder<T> : OrderByBuilderBase
 | 
			
		||||
    {
 | 
			
		||||
        public IQueryable<T> Query { get; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										66
									
								
								PoweredSoft.DynamicLinq/Fluent/OrderBy/OrderByBuilderBase.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								PoweredSoft.DynamicLinq/Fluent/OrderBy/OrderByBuilderBase.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,66 @@
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
 | 
			
		||||
namespace PoweredSoft.DynamicLinq.Fluent
 | 
			
		||||
{
 | 
			
		||||
    public class OrderByBuilderBase
 | 
			
		||||
    {
 | 
			
		||||
        public List<OrderByPart> Sorts { get; protected set; } = new List<OrderByPart>();
 | 
			
		||||
 | 
			
		||||
        public virtual OrderByBuilderBase Sort(string path, QuerySortDirection sortDirection, bool appendSort)
 | 
			
		||||
        {
 | 
			
		||||
            Sorts.Add(new OrderByPart
 | 
			
		||||
            {
 | 
			
		||||
                Path = path,
 | 
			
		||||
                sortDirection = sortDirection,
 | 
			
		||||
                AppendSort = appendSort
 | 
			
		||||
            });
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public virtual OrderByBuilderBase OrderBy(string path)
 | 
			
		||||
        {
 | 
			
		||||
            Sorts.Clear();
 | 
			
		||||
            Sorts.Add(new OrderByPart
 | 
			
		||||
            {
 | 
			
		||||
                Path = path,
 | 
			
		||||
                sortDirection = QuerySortDirection.Ascending,
 | 
			
		||||
                AppendSort = false
 | 
			
		||||
            });
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public virtual OrderByBuilderBase OrderByDescending(string path)
 | 
			
		||||
        {
 | 
			
		||||
            Sorts.Clear();
 | 
			
		||||
            Sorts.Add(new OrderByPart
 | 
			
		||||
            {
 | 
			
		||||
                Path = path,
 | 
			
		||||
                sortDirection = QuerySortDirection.Descending,
 | 
			
		||||
                AppendSort = false
 | 
			
		||||
            });
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public virtual OrderByBuilderBase ThenBy(string path)
 | 
			
		||||
        {
 | 
			
		||||
            Sorts.Add(new OrderByPart
 | 
			
		||||
            {
 | 
			
		||||
                Path = path,
 | 
			
		||||
                sortDirection = QuerySortDirection.Ascending,
 | 
			
		||||
                AppendSort = true
 | 
			
		||||
            });
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public virtual OrderByBuilderBase ThenByDescending(string path)
 | 
			
		||||
        {
 | 
			
		||||
            Sorts.Add(new OrderByPart
 | 
			
		||||
            {
 | 
			
		||||
                Path = path,
 | 
			
		||||
                sortDirection = QuerySortDirection.Descending,
 | 
			
		||||
                AppendSort = true
 | 
			
		||||
            });
 | 
			
		||||
            return this;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user