/// <summary>
        /// Registers the search event.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <param name="searchKeyword">The search keyword.</param>
        /// <param name="numberOfHits">The number of hits.</param>
        /// <returns>
        /// The manager response
        /// </returns>
        public virtual ManagerResponse <CatalogResult, bool> RegisterSearchEvent([NotNull] CommerceStorefront storefront, string searchKeyword, int numberOfHits)
        {
            Assert.ArgumentNotNull(storefront, "storefront");
            Assert.ArgumentNotNullOrEmpty(searchKeyword, "searchKeyword");

            var request = new SearchInitiatedRequest(storefront.ShopName, searchKeyword, numberOfHits);
            var result  = this.CatalogServiceProvider.SearchInitiated(request);

            if (!result.Success)
            {
                Helpers.LogSystemMessages(result.SystemMessages, result);
            }

            return(new ManagerResponse <CatalogResult, bool>(result, result.Success));
        }
        /// <summary>
        /// Registers the search event.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <param name="searchKeyword">The search keyword.</param>
        /// <param name="numberOfHits">The number of hits.</param>
        /// <returns>
        /// The manager response
        /// </returns>
        public virtual ManagerResponse <CatalogResult, bool> RegisterSearchEvent([NotNull] CommerceStorefront storefront, string searchKeyword, int numberOfHits)
        {
            Assert.ArgumentNotNull(storefront, "storefront");
            Assert.ArgumentNotNullOrEmpty(searchKeyword, "searchKeyword");

            var request = new SearchInitiatedRequest(storefront.ShopName, searchKeyword, numberOfHits);
            var result  = this._catalogServiceProvider.SearchInitiated(request);

            if (!result.Success)
            {
                _logger.LogInfo(string.Join(Environment.NewLine, result.SystemMessages.Select(m => m.Message)), this);
            }

            return(new ManagerResponse <CatalogResult, bool>(result, result.Success));
        }
Пример #3
0
        public ManagerResponse <CatalogResult, bool> RegisterSearchEvent(string searchKeyword, int numberOfHits)
        {
            Assert.ArgumentNotNullOrEmpty(searchKeyword, nameof(searchKeyword));

            if (StorefrontContext.Current == null)
            {
                throw new InvalidOperationException("Cannot be called without a valid storefront context.");
            }

            var request = new SearchInitiatedRequest(StorefrontContext.Current.ShopName, searchKeyword, numberOfHits);
            var result  = CatalogServiceProvider.SearchInitiated(request);

            result.WriteToSitecoreLog();

            return(new ManagerResponse <CatalogResult, bool>(result, result.Success));
        }