public Configuration(IOrderSpecification <TEntity> orderSpecification)
 {
     OrderSpecifications = new List <IOrderSpecification <TEntity> > {
         orderSpecification
     };
     QuerySpecification = null;
 }
 public SpecificationBase(IOrderSpecification <TEntity> orderSpecification)
 {
     _orderSpecifications = new List <IOrderSpecification <TEntity> > {
         orderSpecification
     };
     QuerySpecification = new DummySpecification <TEntity>();
 }
        public ThenBySpecification <T> ThenBy(IOrderSpecification <T> other)
        {
            var orderList = new List <IOrderSpecification <T> > {
                this
            };

            return(new ThenBySpecification <T>(orderList, other));
        }
 public static IOrderedQueryable <T> OrderBy <T>(this IQueryable <T> query, IOrderSpecification <T> specification)
 {
     if (specification == null)
     {
         throw new ArgumentNullException(nameof(specification));
     }
     return(specification.Invoke(query));
 }
        public static IOrderedSpecification <TEntity> ThenBy <TEntity>(this IOrderSpecification <TEntity> specification, IOrderSpecification <TEntity> orderSpecification)
            where TEntity : class
        {
            if (specification == null)
            {
                throw new ArgumentNullException(nameof(specification));
            }

            return(AddOrderSpecification(specification, orderSpecification));
        }
Exemple #6
0
 public ThenBySpecification <T> ThenBy(IOrderSpecification <T> other)
 {
     return(new ThenBySpecification <T>(this.orderList, other));
 }
Exemple #7
0
 public ThenBySpecification(List <IOrderSpecification <T> > orderList, IOrderSpecification <T> right)
 {
     this.orderList = orderList;
     this.orderList.Add(right);
 }
        private static IOrderedSpecification <TEntity> AddOrderSpecification <TEntity>(ISpecification <TEntity> specification, IOrderSpecification <TEntity> orderSpecification)
            where TEntity : class
        {
            var configuration = specification.Internal.Clone().Internal;

            configuration.OrderSpecifications.Add(orderSpecification);
            return(configuration);
        }
 public static IOrderedSpecification <TEntity> OrderBy <TEntity>(this ISpecification <TEntity> specification, IOrderSpecification <TEntity> orderSpecification)
     where TEntity : class
 {
     return(AddOrderSpecification(specification, orderSpecification));
 }
Exemple #10
0
 public static IOrderedEnumerable <T> ThenBy <T>(this IOrderedEnumerable <T> query, IOrderSpecification <T> specification)
 {
     return(specification == null
                ? throw new ArgumentNullException(nameof(specification))
                : specification.Invoke(query));
 }
Exemple #11
0
 public static IOrderedQueryable <TEntity> OrderBy <TEntity>(this IQueryable <TEntity> query, IOrderSpecification <TEntity> orderSpecification)
     where TEntity : class
 {
     return(orderSpecification.InvokeSort(query));
 }
Exemple #12
0
 public static IOrderedEnumerable <TEntity> ThenBy <TEntity>(this IOrderedEnumerable <TEntity> collection, IOrderSpecification <TEntity> orderSpecification)
     where TEntity : class
 {
     return(orderSpecification.InvokeSort(collection));
 }
Exemple #13
0
        public static IOrderedQueryable <TEntity> OrderBy <TEntity>(this IQueryable <TEntity> query, IOrderSpecification <TEntity> orderSpecification)
            where TEntity : class
        {
            if (orderSpecification == null)
            {
                throw new ArgumentNullException(nameof(orderSpecification));
            }

            return(orderSpecification.InvokeSort(query));
        }
Exemple #14
0
        public static IOrderedEnumerable <TEntity> ThenBy <TEntity>(this IOrderedEnumerable <TEntity> collection, IOrderSpecification <TEntity> orderSpecification)
            where TEntity : class
        {
            if (orderSpecification == null)
            {
                throw new ArgumentNullException(nameof(orderSpecification));
            }

            return(orderSpecification.InvokeSort(collection));
        }