コード例 #1
0
        public IHttpActionResult Search()
        {
            var searchMode  = HttpContext.Current.Request.QueryString[SearchConstants.QueryString.UseSolrNet];
            var searchQuery = new SearchQuery
            {
                SearchText      = HttpContext.Current.Request.QueryString[SearchConstants.QueryString.SearchTextName],
                Filters         = SearchService.GetSelectedFilters(HttpContext.Current.Request.QueryString),
                TemplateName    = SearchConstants.Templates.ProductTemplateName,
                Language        = Sitecore.Context.Language.ToString(),
                Facets          = SearchService.GetSelectedFacets(Sitecore.Context.Database.GetItem(new ID(SearchConstants.Items.ProductsSearchPageId))),
                ContextDatabase = Sitecore.Context.Database.Name
            };
            SearchResult <Product> searchResults = null;

            if (string.IsNullOrEmpty(searchMode))
            {
                searchResults = ProductsHandle.Handle(searchQuery);
            }
            else
            {
                searchResults = SolrNetProductsHandle.Handle(searchQuery);
            }

            return(Json(searchResults));
        }
コード例 #2
0
        public IHttpActionResult Add(AddProductRequest request)
        {
            Thread.Sleep(1000);
            var searchQuery = new SearchQuery
            {
                Filters = new List <KeyValuePair <string, List <string> > >
                {
                    new KeyValuePair <string, List <string> >("pid_s", new List <string> {
                        request.ProductId
                    })
                },
                TemplateName    = SearchConstants.Templates.ProductTemplateName,
                Language        = Sitecore.Context.Language.ToString(),
                ContextDatabase = Sitecore.Context.Database.Name
            };
            var searchResults = SolrNetProductsHandle.Handle(searchQuery);
            var product       = searchResults.Results.First(x => x.Id == request.ProductId);

            AddProduct(product, request.Quantity);

            return(Json(new UpdateCartResponse
            {
                Success = true,
                Message = "Add cart success"
            }));
        }