public ActionResult ShowContextualProductList(string viewName, List<Models.Product> list) { var keywords = this.ControllerContext.HttpContext.GetSearchKeywords(); if (keywords.IsNullOrTrimmedEmpty()) { return new EmptyResult(); } var filter = new Models.ProductListFilter(); filter.Search = keywords; int count = 0; var productList = CatalogService.GetProductListBySearch(filter, 0, 10, out count); if (productList.IsNullOrEmpty()) { return new EmptyResult(); } // on retire les produits affichés if (!list.IsNullOrEmpty()) { foreach (var item in list) { productList.RemoveAll(i => i.Id == item.Id); } } ViewData.Model = productList; return PartialView(viewName); }
public ActionResult ShowProductListBySelection(string viewName, string selectionName, int productCount) { var selectionList = CacheService["productSelectionList"] as IList<Models.EntitySelection>; if (selectionList == null) { selectionList = CatalogService.GetProductSelectionList(); CacheService.Add("productSelectionList", selectionList, DateTime.Now.AddHours(1)); } if (selectionList == null) { return new EmptyResult(); } var selection = selectionList.SingleOrDefault(i => i.Name.Equals(selectionName, StringComparison.CurrentCultureIgnoreCase)); if (selection == null) { return new EmptyResult(); } var filter = new Models.ProductListFilter() { SelectionId = selection.Id, }; int count = 0; var list = CatalogService.GetProductListBySearch(filter, 0, productCount, out count); CatalogService.ApplyBestPrice(list, User.GetUserPrincipal().CurrentUser); return PartialView(viewName, list); }