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