public static List<string> GetAssetUrlsForProduct(SamsungProduct product) { if (product == null) return new List<string>(); ItemCollection<CommerceMedia> mediaItems = product.CommerceMediaCollection; if (mediaItems != null && mediaItems.Count > 0) { return mediaItems.Select(GetMediaUrl).ToList(); } return new List<string>(); }
public static List<SamsungVariant> GetAllVariantsForProduct(SamsungProduct currentPage) { var contentLoader = ServiceLocator.Current.GetInstance<IContentLoader>(); var referenceConverter = ServiceLocator.Current.GetInstance<ReferenceConverter>(); //get product id var itemId = referenceConverter.GetObjectId(currentPage.ContentLink); // var productIdFromCommerce = itemId; var productLink = referenceConverter.GetContentLink(productIdFromCommerce, CatalogContentType.CatalogEntry, 0); var productContent = contentLoader.Get<CatalogContentBase>(productLink); var prodCurrent = productContent.ContentLink; var linksRepository = ServiceLocator.Current.GetInstance<ILinksRepository>(); var allRelations = linksRepository.GetRelationsBySource(prodCurrent); // Relations to Variations are of type ProductVariation var variations = allRelations.OfType<ProductVariation>().ToList(); List<SamsungVariant> variantsList = new List<SamsungVariant>(); foreach (var item in variations) { variantsList.Add(contentLoader.Get<SamsungVariant>(item.Target)); } return variantsList; }