/// <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); }
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))); }
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); }
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)); }