예제 #1
0
 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);
 }
예제 #2
0
        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);
        }