public virtual async Task <SearchQueryResult> SearchQueryProductAsync(SearchQueryProductParams param) { var criteria = param.Criteria; var request = GerSearchQueryRequest(param); request.Query.IncludeTotalCount = true; request.Query.MaximumItems = criteria.NumberOfItemsPerPage; request.Query.StartingIndex = (criteria.Page - 1) * criteria.NumberOfItemsPerPage; request.CultureName = criteria.CultureInfo.Name; request.SearchTerms = criteria.Keywords; request.ScopeId = criteria.Scope; request.IncludeFacets = criteria.IncludeFacets; request.Facets = GetFacetFieldNameToQuery(criteria); request.FacetPredicates = BuildFacetPredicates(criteria); request.AutoCorrect = criteria.AutoCorrect; var sortDefinitions = BuildQuerySortings(criteria); if (sortDefinitions != null) { request.Query.Sortings.Add(sortDefinitions); } var result = await OvertureClient.SendAsync(request).ConfigureAwait(false); return(result); }
private SearchBySearchQueryRequest GerSearchQueryRequest(SearchQueryProductParams param) { return(new SearchBySearchQueryRequest() { QueryType = param.QueryType, QueryName = param.QueryName, ScopeId = param.ScopeId, CultureName = param.CultureName, Query = new Query { Filter = new FilterGroup { BinaryOperator = BinaryOperator.And, Filters = new List <Filter> { new Filter { Member = "CatalogId", Operator = Operator.Equals, Value = param.ScopeId }, new Filter { Member = "Active", Operator = Operator.Equals, Value = bool.TrueString } } } } }); }
public async Task <SearchQueryResult> SearchQueryProductAsync(SearchQueryProductParams param) { var criteria = param.Criteria; var request = new SearchBySearchQueryRequest() { QueryType = param.QueryType, QueryName = param.QueryName, ScopeId = param.ScopeId, CultureName = param.CultureName, Query = new Query { Filter = new FilterGroup { BinaryOperator = BinaryOperator.And, Filters = new List <Filter> { new Filter { Member = "CatalogId", Operator = Operator.Equals, Value = param.ScopeId }, new Filter { Member = "Active", Operator = Operator.Equals, Value = bool.TrueString } } } } }; request.Query.IncludeTotalCount = true; request.Query.MaximumItems = criteria.NumberOfItemsPerPage; request.Query.StartingIndex = (criteria.Page - 1) * criteria.NumberOfItemsPerPage; request.CultureName = criteria.CultureInfo.Name; request.SearchTerms = criteria.Keywords; request.ScopeId = criteria.Scope; request.IncludeFacets = criteria.IncludeFacets; request.Facets = GetFacetFieldNameToQuery(criteria); request.FacetPredicates = BuildFacetPredicates(criteria); request.AutoCorrect = criteria.AutoCorrect; var sortDefinitions = BuildQuerySortings(criteria); if (sortDefinitions != null) { request.Query.Sortings.Add(sortDefinitions); } var result = await OvertureClient.SendAsync(request).ConfigureAwait(false); return(result); }