public WineSKUViewModel(WineSKUContent currentContent) { CatalogContent = currentContent; Media = GetMedia(currentContent); CartItem = new CartItemModel(CatalogContent) { CanBuyEntry = true }; }
public WineSKUViewModel(WineSKUContent currentContent) { CatalogContent = currentContent; Media = GetMedia(currentContent); CartItem = new CartItemModel(CatalogContent) { CanBuyEntry = true }; if (currentContent["WineRegion"] != null) { CartItem.WineRegion = currentContent["WineRegion"].ToString(); } }
private List <MediaData> GetMedia(WineSKUContent currentContent) { var contentLoader = ServiceLocator.Current.GetInstance <EPiServer.IContentLoader>(); var mediaReferences = currentContent.AssetImageUrls(); List <MediaData> mediaData = new List <MediaData>(); foreach (ContentReference mediaReference in mediaReferences) { MediaData file; if (contentLoader.TryGet <MediaData>(mediaReference, out file)) { mediaData.Add(file); } } return(mediaData); }
public WineFindProduct(EntryContentBase entryContentBase, string language) : base(entryContentBase, language) { WineSKUContent wineSkuContent = entryContentBase as WineSKUContent; if (wineSkuContent != null) { Varieties = wineSkuContent.GrapeMix; Vintage = wineSkuContent.Vintage; Taste = wineSkuContent.Taste; Style = wineSkuContent.Style; Country = wineSkuContent.Country; Region = wineSkuContent.Region; Maturity = wineSkuContent.Maturity; Alcohol = wineSkuContent.Alcohol; Closure = wineSkuContent.Closure; Brand = wineSkuContent.Facet_Brand; } }
// GET: RelatedProductsBlock public override ActionResult Index(WineProductSearchBlock currentContent) { try { // We need to know which language the page we're hosted on is string language = ControllerContext.RequestContext.GetLanguage(); List <ProductListViewModel> productListViewModels = currentContent.GetSearchResults(language); if (productListViewModels == null) { // No hits, but we could still have manually added products productListViewModels = new List <ProductListViewModel>(); } // Override result with priority products if (currentContent.Products != null) { foreach (var contentAreaItem in currentContent.Products.Items) { var item = contentAreaItem.GetContent(); if (item != null) { WineSKUContent wineSkuContent = _contentLoader.Get <WineSKUContent>(item.ContentLink); if (wineSkuContent != null) { // Remove priority products from list productListViewModels.RemoveAll( x => x.ContentLink.CompareToIgnoreWorkID(wineSkuContent.ContentLink)); // Add to beginning ProductListViewModel priorityProduct = _productService.GetProductListViewModel(wineSkuContent); productListViewModels.Insert(0, priorityProduct); } } } } if (productListViewModels.Count > currentContent.ResultsPerPage) { productListViewModels = productListViewModels.Take(currentContent.ResultsPerPage).ToList(); } WineProductSearchResult wineProductSearchResult = new WineProductSearchResult { Heading = currentContent.Heading, Products = productListViewModels }; // Track impressions TrackProductImpressions(wineProductSearchResult); return(View(wineProductSearchResult)); } catch (ServiceException) { return(View("FindError")); } }