private void addTermMatches( List <TextRange> matches, List <TextRange> contextMatches, string displayField, string displayText, ISearchResultBase searchResult) { var highlightTerms = searchResult?.HighlightTerms; if (highlightTerms == null) { return; } foreach (var pair in highlightTerms.Where(term => isRelevantField(displayField, term.Key))) { var terms = pair.Value; var patternsSet = new Dictionary <string, (HashSet <string> TokenFields, Regex Pattern)>(); var contextPatternsSet = new Dictionary <string, (HashSet <string> TokenFields, Regex Pattern)>(); addTextualPatterns(searchResult.Query, terms, patternsSet, contextPatternsSet); _keywordHighlighter.AddKeywordPatterns(searchResult.Query, terms, patternsSet); addMatches(displayText, patternsSet.Values, matches); addMatches(displayText, contextPatternsSet.Values, contextMatches); } }
public CatalogsResultViewModel(ISearchResultBase result, ISearchRequest request) : this() { _request = request as CatalogSearchRequest; CatalogSearchResult catalogsResult = result as CatalogSearchResult; _catalogs = catalogsResult.Catalogs; }
public PageableCatalogResultViewModel(ISearchResultBase result, ISearchRequest request) { _request = request as CatalogSearchRequest; CatalogSearchResult catalogsResult = result as CatalogSearchResult; _catalogs = new PageableCollection<Catalog>(catalogsResult.Catalogs); }