示例#1
0
        // GET: Default
        public ActionResult Index(string q, int page = 1, ProductSortBy sortBy = ProductSortBy.RateHighest)
        {
            int totalItems;
            var productSearchFilter = new ProductSearchFilter()
            {
                SortBy = sortBy
            };
            var products = this.ProductService.Search(q, productSearchFilter, out totalItems, page);

            var vm = new ListOfProductsViewModel(productSearchFilter == null ? ProductSortBy.RateHighest : productSearchFilter.SortBy)
            {
                List      = new Pager <ProductViewModel>(Mapper.Map <IEnumerable <ProductViewModel> >(products), totalItems, page, urlFormat: string.Format("/Search/Index/{0}/{{0}}", q)),
                ListTitle = q
            };

            return(View("_ListOfProducts", vm));
        }
        public ActionResult ProductsByCategory(int id, int page, ProductSortBy sortBy = ProductSortBy.RateHighest)
        {
            int totalItems;
            var products = this.ProductService.GetAll(new ProductSearchFilter()
            {
                CategoryId = id, SortBy = sortBy
            }, out totalItems, page);

            var vm = new ListOfProductsViewModel()
            {
                List = new Pager <ProductViewModel>(Mapper.Map <IEnumerable <ProductViewModel> >(products), totalItems, page, urlFormat: string.Format("/category/{0}/{{0}}", id))
            };

            if (vm.List != null && vm.List.TotalItems > 0)
            {
                vm.ListTitle = CategoryService.GetById(id).Name;
            }

            return(View("_ListOfProducts", vm));
        }