/// <summary>
 /// Sets the ordering of the query result.
 /// </summary>
 /// <param name="builder">
 /// The builder.
 /// </param>
 /// <param name="sortBy">
 /// The sort by.
 /// </param>
 /// <param name="sortDirection">
 /// The sort direction.
 /// </param>
 /// <returns>
 /// The <see cref="IProductContentQueryBuilder"/>.
 /// </returns>
 public static IProductContentQueryBuilder OrderBy(this IProductContentQueryBuilder builder, ProductSortField sortBy, SortDirection sortDirection = SortDirection.Ascending)
 {
     builder.SortBy = sortBy;
     builder.SortDirection = sortDirection;
     return builder;
 }
 /// <summary>
 /// Sets the ordering of the query result.
 /// </summary>
 /// <param name="builder">
 /// The builder.
 /// </param>
 /// <param name="sortBy">
 /// The sort by.
 /// </param>
 /// <param name="sortDirection">
 /// The sort direction.
 /// </param>
 /// <returns>
 /// The <see cref="IProductContentQueryBuilder"/>.
 /// </returns>
 public static IProductContentQueryBuilder OrderBy(this IProductContentQueryBuilder builder, ProductSortField sortBy, SortDirection sortDirection = SortDirection.Ascending)
 {
     builder.SortBy        = sortBy;
     builder.SortDirection = sortDirection;
     return(builder);
 }
Exemple #3
0
        public static IEnumerable <ProductSearchInfoForCourier> SortProductsForCourier(IEnumerable <Product> products, ProductSortField field, bool direction, int count, int offset)
        {
            IOrderedEnumerable <Product> result = SortProducts(products, field, direction);

            return(result.Skip(offset).Take(count).Select(p => new ProductSearchInfoForCourier(p)));
        }
Exemple #4
0
        private static IOrderedEnumerable <Product> SortProducts(IEnumerable <Product> products, ProductSortField field, bool direction)
        {
            IOrderedEnumerable <Product> result = null;

            if (direction)
            {
                switch (field)
                {
                case ProductSortField.CreationDate:
                    result = products.OrderBy(p => p.CreationDate);
                    break;

                case ProductSortField.Article:
                    result = products.OrderBy(p => p.Article);
                    break;

                case ProductSortField.Name:
                    result = products.OrderBy(p => p.Name);
                    break;

                case ProductSortField.Date:
                    result = products.OrderBy(p => p.DateTime);
                    break;

                default:
                    break;
                }
            }
            else
            {
                switch (field)
                {
                case ProductSortField.CreationDate:
                    result = products.OrderByDescending(p => p.CreationDate);
                    break;

                case ProductSortField.Article:
                    result = products.OrderByDescending(p => p.Article);
                    break;

                case ProductSortField.Name:
                    result = products.OrderByDescending(p => p.Name);
                    break;

                case ProductSortField.Date:
                    result = products.OrderByDescending(p => p.DateTime);
                    break;

                default:
                    break;
                }
            }

            return(result);
        }
Exemple #5
0
 public static IEnumerable <Product> SortProductsForManager(IEnumerable <Product> products, ProductSortField field, bool direction, int count, int offset)
 {
     return(SortProducts(products, field, direction).Skip(offset).Take(count));
 }