/// <summary> /// Gets the product prices. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="visitorContext">The visitor context.</param> /// <param name="catalogName">Name of the catalog.</param> /// <param name="productId">The product identifier.</param> /// <param name="includeVariants">if set to <c>true</c> [include variants].</param> /// <param name="priceTypeIds">The price type ids.</param> /// <returns> /// The manager response with the list of prices in the Result. /// </returns> public virtual ManagerResponse <Sitecore.Commerce.Services.Prices.GetProductPricesResult, IDictionary <string, Price> > GetProductPrices([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, string catalogName, string productId, bool includeVariants, params string[] priceTypeIds) { Assert.ArgumentNotNull(storefront, "storefront"); if (priceTypeIds == null) { priceTypeIds = defaultPriceTypeIds; } var request = new RefSFArgs.GetProductPricesRequest(catalogName, productId, priceTypeIds); if (Sitecore.Context.User.IsAuthenticated) { request.UserId = visitorContext.GetCustomerId(); } request.IncludeVariantPrices = includeVariants; request.CurrencyCode = StorefrontManager.GetCustomerCurrency(); var result = this.PricingServiceProvider.GetProductPrices(request); Helpers.LogSystemMessages(result.SystemMessages, result); return(new ManagerResponse <Sitecore.Commerce.Services.Prices.GetProductPricesResult, IDictionary <string, Price> >(result, result.Prices == null ? new Dictionary <string, Price>() : result.Prices)); }
/// <summary> /// Gets the product prices. /// </summary> /// <param name="request">The request.</param> /// <returns>Returns product prices.</returns> public virtual Sitecore.Commerce.Services.Prices.GetProductPricesResult GetProductPrices(GetProductPricesRequest request) { return this.RunPipeline<GetProductPricesRequest, Sitecore.Commerce.Services.Prices.GetProductPricesResult>("commerce.prices.getProductPrices", request); }
/// <summary> /// Gets the product prices. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="catalogName">Name of the catalog.</param> /// <param name="productId">The product identifier.</param> /// <param name="includeVariants">if set to <c>true</c> [include variants].</param> /// <param name="priceTypeIds">The price type ids.</param> /// <returns>The manager response with the list of prices in the Result.</returns> public virtual ManagerResponse<GetProductPricesResult, IDictionary<string, Dictionary<string, Price>>> GetProductPrices([NotNull] CommerceStorefront storefront, string catalogName, string productId, bool includeVariants, params string[] priceTypeIds) { Assert.ArgumentNotNull(storefront, "storefront"); if (priceTypeIds == null) { priceTypeIds = defaultPriceTypeIds; } var request = new GetProductPricesRequest(catalogName, productId, priceTypeIds); request.IncludeVariantPrices = includeVariants; var result = this.PricingServiceProvider.GetProductPrices(request); Helpers.LogSystemMessages(result.SystemMessages, result); return new ManagerResponse<GetProductPricesResult, IDictionary<string, Dictionary<string, Price>>>(result, result.Prices == null ? new Dictionary<string, Dictionary<string, Price>>() : result.Prices); }
/// <summary> /// Gets the product prices. /// </summary> /// <param name="request">The request.</param> /// <returns>Returns product prices.</returns> public virtual GetProductPricesResult GetProductPrices(GetProductPricesRequest request) { return this.RunPipeline<GetProductPricesRequest, GetProductPricesResult>("commerce.prices.getProductPrices", request); }