Ejemplo n.º 1
0
        // GET: Category
        public ActionResult ProductsByCategory(RenderModel model, int id, int page, ProductSortBy sortBy = ProductSortBy.RateHighest)
        {
            int totalItems;

            var category = this.CategoryService.GetById(id);

            var filter = new ProductSearchFilter()
            {
                CategoryId = id, SortBy = sortBy
            };
            var products = this.ProductService.GetAll(filter, out totalItems, page);

            var vm = new CategoryViewModel(model.Content);

            Mapper.Map(category, vm);

            var pager = new Pager <ProductPreviewViewModel>(Mapper.Map <IEnumerable <ProductPreviewViewModel> >(products), totalItems, page, urlFormat: string.Format("/category/{0}/{{0}}", model.Content.Id));

            vm.Products = new ListOfProductsPreviewViewModel()
            {
                List      = pager,
                ListTitle = model.Content.Name
            };

            return(View(vm));
        }
        public ListOfProductsPreviewViewModel(ProductSortBy sortBy = ProductSortBy.RateHighest)
        {
            var list = Enum.GetValues(typeof(ProductSortBy)).Cast <ProductSortBy>().ToList();

            ProductSortByList = list
                                .Select(x => new SelectListItem()
            {
                Text = x.GetCustomAttribute <DescriptionAttribute>(x.ToString()).Description, Value = ((int)x).ToString(), Selected = x == sortBy
            }).ToList();
        }
Ejemplo n.º 3
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));
        }