// 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(); }
// 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)); }