public static IOrderedEnumerable <ProductSearchModel> SortProducts( IEnumerable <ProductSearchModel> data, ProductSortType productSortType) { switch (productSortType) { case ProductSortType.NameDescending: return(data.OrderByDescending(item => item.Name)); case ProductSortType.ProteinAscending: return(data.OrderBy(item => item.Protein)); case ProductSortType.ProteinDescending: return(data.OrderByDescending(item => item.Protein)); case ProductSortType.CarbohydrateAscending: return(data.OrderBy(item => item.Carbohydrate)); case ProductSortType.CarbohydrateDescending: return(data.OrderByDescending(item => item.Carbohydrate)); case ProductSortType.FatAscending: return(data.OrderBy(item => item.Fat)); case ProductSortType.FatDescending: return(data.OrderByDescending(item => item.Fat)); default: return(data.OrderBy(item => item.Name)); } }
public static IOrderedEnumerable<ProductListItem> SortBy(this IEnumerable<ProductListItem> items, ProductSortType sortType) { switch (sortType) { case ProductSortType.NameDescending: return items.OrderByDescending(i => i.Name); case ProductSortType.PriceAscending: return items.OrderBy(i => i.Price); case ProductSortType.PriceDescending: return items.OrderByDescending(i => i.Price); case ProductSortType.RatingAscending: return items.OrderBy(i => i.Rating); case ProductSortType.RatingDescending: return items.OrderByDescending(i => i.Rating); case ProductSortType.ReleaseAscending: return items.OrderBy(i => i.ReleaseDate); case ProductSortType.ReleaseDescending: return items.OrderByDescending(i => i.ReleaseDate); default: return items.OrderBy(i => i.Name); } }
public static PagedList<ProductSearchModel> SearchProducts(this IProductManager productManager, int page, int pageSize, ProductSortType sortType, ViewModels.Filter filter) { if (pageSize < 1) { pageSize = 1; } ICollection<ProductSearchModel> data = Mapper.Map<IEnumerable<Entities.Product>, IEnumerable<ProductSearchModel>>( productManager.FindByName(filter.SearchKeyword ?? string.Empty)).ToList(); var orderedData = ProductHelper.SortProducts(productManager.FilterProducts(data, filter), sortType); int pages = (data.Count + pageSize - 1) / pageSize; if (page > pages) { page = pages; } if (page < 1) { page = 1; } return new PagedList<ProductSearchModel>(orderedData, page, pageSize); }
public static IOrderedEnumerable<ProductSearchModel> SortProducts( IEnumerable<ProductSearchModel> data, ProductSortType productSortType) { switch (productSortType) { case ProductSortType.NameDescending: return data.OrderByDescending(item => item.Name); case ProductSortType.ProteinAscending: return data.OrderBy(item => item.Protein); case ProductSortType.ProteinDescending: return data.OrderByDescending(item => item.Protein); case ProductSortType.CarbohydrateAscending: return data.OrderBy(item => item.Carbohydrate); case ProductSortType.CarbohydrateDescending: return data.OrderByDescending(item => item.Carbohydrate); case ProductSortType.FatAscending: return data.OrderBy(item => item.Fat); case ProductSortType.FatDescending: return data.OrderByDescending(item => item.Fat); default: return data.OrderBy(item => item.Name); } }
public static PagedList <ProductSearchModel> SearchProducts(this IProductManager productManager, int page, int pageSize, ProductSortType sortType, ViewModels.Filter filter) { if (pageSize < 1) { pageSize = 1; } ICollection <ProductSearchModel> data = Mapper.Map <IEnumerable <Entities.Product>, IEnumerable <ProductSearchModel> >( productManager.FindByName(filter.SearchKeyword ?? string.Empty)).ToList(); var orderedData = ProductHelper.SortProducts(productManager.FilterProducts(data, filter), sortType); int pages = (data.Count + pageSize - 1) / pageSize; if (page > pages) { page = pages; } if (page < 1) { page = 1; } return(new PagedList <ProductSearchModel>(orderedData, page, pageSize)); }