public void GetProductPrice(ICatalogProduct productViewModel) { if (productViewModel == null) { return; } var includeVariants = productViewModel.Variants != null && productViewModel.Variants.Any(); var pricesResponse = PricingManager.GetProductPrices(productViewModel.CatalogName, productViewModel.ProductId, includeVariants, null); if (pricesResponse == null || !pricesResponse.ServiceProviderResult.Success || pricesResponse.Result == null) { return; } Price price; if (pricesResponse.Result.TryGetValue(productViewModel.ProductId, out price)) { var extendedPrice = (ExtendedCommercePrice)price; productViewModel.ListPrice = price.Amount; productViewModel.AdjustedPrice = extendedPrice.ListPrice; } if (!includeVariants) { return; } foreach (var variant in productViewModel.Variants) { if (!pricesResponse.Result.TryGetValue(variant.VariantId, out price)) { continue; } var extendedPrice = (ExtendedCommercePrice)price; variant.ListPrice = extendedPrice.Amount; variant.AdjustedPrice = extendedPrice.ListPrice; } }
private ProductViewModel CreateProductViewModel(ICatalogProduct product) { return(new ProductViewModel(product, this)); }