Example #1
0
        public virtual ActionResult GetProductsList(ProductsListType listType, int?page, int?pageSize, int?catId, DateTime?fromDate, ViewStyles?style, NumberOfCol?numberOfCol, bool?showPager)
        {
            var currentUser = UserManager.FindById(User.Identity.GetUserId());
            IPagedList <TblProducts> products = null;

            switch (listType)
            {
            case ProductsListType.Newest:
                products = _productService.GetNewItems(page ?? 1, pageSize ?? 24, catId, fromDate);
                break;

            case ProductsListType.MostPopular:
                products = _productService.GetPopularItems(page ?? 1, pageSize ?? 24, catId, fromDate);
                break;

            case ProductsListType.HotList:
                products = _productService.GetHotList(page ?? 1, pageSize ?? 24, catId, fromDate);
                break;

            case ProductsListType.Featured:
                products = _productService.GetFeaturedItems(page ?? 1, pageSize ?? 24, catId, fromDate);
                break;

            case ProductsListType.BestSelling:
                products = _productService.GetBestSelling(page ?? 1, pageSize ?? 24, catId, fromDate);
                break;

            case ProductsListType.MostDownloaded:
                products = _productService.GetMostDownloadedItems(page ?? 1, pageSize ?? 24, catId, fromDate);
                break;
            }
            var model = new ProductsListModel()
            {
                PostsList          = _productModelFactory.PrepareProductCardViewModel(products, currentUser, Url),
                ViewStyle          = style ?? ViewStyles.Normal,
                PageIndex          = page ?? 1,
                PageSize           = pageSize,
                PostsListType      = listType,
                FromDate           = fromDate,
                FilterByCategoryId = catId,
                ShowPager          = showPager ?? true,
                NumberOfCol        = numberOfCol ?? NumberOfCol.Four
            };

            return(View("Partials/_ProductsList", model));
        }