// GET: Search public ActionResult Index(SearchModel searchModel) { var result = SearchManager.Search(searchModel); var onePageOfResults = result.ToPagedList(searchModel.Page??1, 20); // will only contain 25 products max because of the pageSize ViewBag.OnePageOfResults = onePageOfResults; return View(searchModel); }
public static IEnumerable<SearchResultItemModel> Search(SearchModel search) { var page = (search.Page??1) - 1; var skip = page*20; var context = new AdminDbContext(); var totalResult = context.Entities.Where(e => e.Name.Contains(search.Query ?? string.Empty)); var totalResults = totalResult.Count(); var result = totalResult.OrderBy(e=>e.Name).Skip(skip).Take(20).Select(e => new SearchResultItemModel { Title = e.Name, EntityId = e.Id, Type = e.Type.Name, Image = e.Image??e.Type.DefaultImage }); return result; }