/// <summary>
        /// Registers an event specifying that the product details page has been visited.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <param name="productId">the product id.</param>
        /// <param name="parentCategoryName">the parent category name.</param>
        /// <param name="catalogName">the catalog name.</param>
        /// <returns>
        /// A <see cref="VisitedProductDetailsPageResult" /> specifying the result of the service request.
        /// </returns>
        public VisitedProductDetailsPageResult VisitedProductDetailsPage([NotNull] CommerceStorefront storefront, [NotNull] string productId, string parentCategoryName, string catalogName)
        {
            Assert.ArgumentNotNull(storefront, "storefront");

            var request = new VisitedProductDetailsPageRequest(storefront.ShopName, productId);
            request.ParentCategoryName = parentCategoryName;
            request.CatalogName = catalogName;
            return this.CatalogServiceProvider.VisitedProductDetailsPage(request);
        }
        /// <summary>
        /// Visiteds the product details page.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <returns>
        /// The manager response
        /// </returns>
        public virtual ManagerResponse<VisitedProductDetailsPageResult, bool> VisitedProductDetailsPage([NotNull] CommerceStorefront storefront)
        {
            Assert.ArgumentNotNull(storefront, "storefront");

            var request = new VisitedProductDetailsPageRequest(storefront.ShopName, CatalogUrlManager.ExtractItemIdFromCurrentUrl())
            {
                ParentCategoryName = CatalogUrlManager.ExtractCategoryNameFromCurrentUrl(),
                CatalogName = CatalogUrlManager.ExtractCatalogNameFromCurrentUrl()
            };

            var result = this.CatalogServiceProvider.VisitedProductDetailsPage(request);
            if (!result.Success)
            {
                Helpers.LogSystemMessages(result.SystemMessages, result);
            }

            return new ManagerResponse<VisitedProductDetailsPageResult, bool>(result, result.Success);
        }
Exemple #3
0
 public virtual VisitedProductDetailsPageResult VisitedProductDetailsPage([NotNull] VisitedProductDetailsPageRequest request)
 {
     return(this.RunPipeline <VisitedProductDetailsPageRequest, VisitedProductDetailsPageResult>(StorefrontConstants.PipelineNames.VisitedProductDetailsPage, request));
 }