Пример #1
0
 public virtual ActionResult ProductsExplorer(ProductsListType listType, int?page, int?pageSize, int?catId, DateTime?fromDate)
 {
     return(View(new ProductsExplorerModel()
     {
         PageIndex = page ?? 1,
         PageSize = pageSize,
         PostsListType = listType,
         FilterByCategoryId = catId,
         FromDate = fromDate
     }));
 }
Пример #2
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));
        }
Пример #3
0
        public virtual ActionResult Products(ProductsListType listType, int?page, int?pageSize, int?catId, DateTime?fromDate)
        {
            IPagedList <TblProducts> products = null;

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

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

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

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

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

            case ProductsListType.MostDownloaded:
                products = _productService.GetMostDownloadedItems(page ?? 1, pageSize ?? 50, catId, fromDate);
                break;
            }

            var feed = new SyndicationFeed(CurrentSettings.GetLocalized(x => x.SiteName), CurrentSettings.GetLocalized(x => x.SiteDescription),
                                           new Uri(Url.Action("Index", "Home", null, Request.Url.Scheme)));

            var items = Enumerable.Select(products, product => new SyndicationItem(
                                              product.GetLocalized(p => p.Title).EscapeXml(), (product.Descriptions?.OrderBy(p => p.DisplayOrder)
                                                                                               ?.FirstOrDefault()
                                                                                               ?.GetLocalized(p => p.HtmlDescription) ?? " - ").EscapeXml(),
                                              new Uri(Url.Action("Index", "Product", new { slug = product.Slug }, Request.Url.Scheme)),
                                              product.Id.ToString(), product.LastUpDate ?? product.PublishDate))
                        .ToList();

            feed.Items = items;
            return(new RssActionResult(new Rss20FeedFormatter(feed)));
        }