public static IOrderedEnumerable <RecipeSearchModel> SortRecipes( IEnumerable <RecipeSearchModel> data, RecipeSortType sortType) { switch (sortType) { case RecipeSortType.NameAscending: return(data.OrderBy(item => item.Name)); case RecipeSortType.NameDescending: return(data.OrderByDescending(item => item.Name)); case RecipeSortType.RatingAscending: return(data.OrderBy(item => item.Rating)); case RecipeSortType.RatingDescending: return(data.OrderByDescending(item => item.Rating)); case RecipeSortType.ProteinAscending: return(data.OrderBy(item => item.Protein)); case RecipeSortType.ProteinDescending: return(data.OrderByDescending(item => item.Protein)); case RecipeSortType.FatAscending: return(data.OrderBy(item => item.Fat)); case RecipeSortType.FatDescending: return(data.OrderByDescending(item => item.Fat)); case RecipeSortType.CarbohydrateAscending: return(data.OrderBy(item => item.Carbohydrate)); case RecipeSortType.CarbohydrateDescending: return(data.OrderByDescending(item => item.Carbohydrate)); case RecipeSortType.CommentsAscending: return(data.OrderBy(item => item.Comments)); case RecipeSortType.CommentsDescending: return(data.OrderByDescending(item => item.Comments)); default: return(data.OrderBy(item => item.Name)); } }
public static PagedList <RecipeSearchModel> SearchRecipes(this IRecipeManager recipeManager, int page, int pageSize, RecipeSortType sortType, ViewModels.Filter filter) { if (pageSize < 1) { pageSize = 1; } ICollection <RecipeSearchModel> data = Mapper.Map <IEnumerable <Entities.Recipe>, IEnumerable <RecipeSearchModel> >( recipeManager.FindByName(filter.SearchKeyword ?? string.Empty)).ToList(); var orderedData = RecipeHelper.SortRecipes(recipeManager.FilterProducts(data, filter), sortType); int pages = (data.Count + pageSize - 1) / pageSize; if (page > pages) { page = pages; } if (page < 1) { page = 1; } return(new PagedList <RecipeSearchModel>(orderedData, page, pageSize)); }
public static PagedList<RecipeSearchModel> SearchRecipes(this IRecipeManager recipeManager, int page, int pageSize, RecipeSortType sortType, ViewModels.Filter filter) { if (pageSize < 1) { pageSize = 1; } ICollection<RecipeSearchModel> data = Mapper.Map<IEnumerable<Entities.Recipe>, IEnumerable<RecipeSearchModel>>( recipeManager.FindByName(filter.SearchKeyword ?? string.Empty)).ToList(); var orderedData = RecipeHelper.SortRecipes(recipeManager.FilterProducts(data, filter), sortType); int pages = (data.Count + pageSize - 1) / pageSize; if (page > pages) { page = pages; } if (page < 1) { page = 1; } return new PagedList<RecipeSearchModel>(orderedData, page, pageSize); }
public static IOrderedEnumerable<RecipeSearchModel> SortRecipes( IEnumerable<RecipeSearchModel> data, RecipeSortType sortType) { switch (sortType) { case RecipeSortType.NameAscending: return data.OrderBy(item => item.Name); case RecipeSortType.NameDescending: return data.OrderByDescending(item => item.Name); case RecipeSortType.RatingAscending: return data.OrderBy(item => item.Rating); case RecipeSortType.RatingDescending: return data.OrderByDescending(item => item.Rating); case RecipeSortType.ProteinAscending: return data.OrderBy(item => item.Protein); case RecipeSortType.ProteinDescending: return data.OrderByDescending(item => item.Protein); case RecipeSortType.FatAscending: return data.OrderBy(item => item.Fat); case RecipeSortType.FatDescending: return data.OrderByDescending(item => item.Fat); case RecipeSortType.CarbohydrateAscending: return data.OrderBy(item => item.Carbohydrate); case RecipeSortType.CarbohydrateDescending: return data.OrderByDescending(item => item.Carbohydrate); case RecipeSortType.CommentsAscending: return data.OrderBy(item => item.Comments); case RecipeSortType.CommentsDescending: return data.OrderByDescending(item => item.Comments); default: return data.OrderBy(item => item.Name); } }