本文整理汇总了C#中SearchResult.ContainsKey方法的典型用法代码示例。如果您正苦于以下问题:C# SearchResult.ContainsKey方法的具体用法?C# SearchResult.ContainsKey怎么用?C# SearchResult.ContainsKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SearchResult
的用法示例。
在下文中一共展示了SearchResult.ContainsKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateFacets
private static FacetGroup[] CreateFacets(ISearchCriteria criteria, SearchResult<ESDocument>.SearchFacets facets)
{
var result = new List<FacetGroup>();
if (facets != null)
{
foreach (var filter in criteria.Filters)
{
var groupLabels = filter.GetLabels();
var facetGroup = new FacetGroup(filter.Key, groupLabels);
var values = filter.GetValues();
// Return all facet terms for attribute filter if values are not defined
if (values == null && filter is AttributeFilter)
{
facetGroup.FacetType = FacetTypes.Attribute;
var key = filter.Key.ToLower();
if (facets.ContainsKey(key))
{
var facet = facets[key] as TermsFacetResult;
if (facet != null)
{
foreach (var term in facet.terms)
{
var newFacet = new Facet(facetGroup, term.term, term.count, null);
facetGroup.Facets.Add(newFacet);
}
}
}
}
if (values != null)
{
foreach (var group in values.GroupBy(v => v.Id))
{
var valueLabels = group.GetValueLabels();
if (filter is AttributeFilter)
{
facetGroup.FacetType = FacetTypes.Attribute;
var key = filter.Key.ToLower();
if (facets.ContainsKey(key))
{
var facet = facets[key] as TermsFacetResult;
if (facet != null)
{
var term = facet.terms.FirstOrDefault(t => t.term.Equals(group.Key, StringComparison.OrdinalIgnoreCase));
if (term != null)
{
var newFacet = new Facet(facetGroup, group.Key, term.count, valueLabels);
facetGroup.Facets.Add(newFacet);
}
}
}
}
else if (filter is PriceRangeFilter)
{
facetGroup.FacetType = FacetTypes.PriceRange;
var rangeFilter = filter as PriceRangeFilter;
if (rangeFilter.Currency.Equals(criteria.Currency, StringComparison.OrdinalIgnoreCase))
{
var key = string.Format(CultureInfo.InvariantCulture, "{0}-{1}", filter.Key, group.Key).ToLower();
if (facets.ContainsKey(key))
{
var facet = facets[key] as FilterFacetResult;
if (facet != null && facet.count > 0)
{
var newFacet = new Facet(facetGroup, group.Key, facet.count, valueLabels);
facetGroup.Facets.Add(newFacet);
}
}
}
}
else if (filter is RangeFilter)
{
facetGroup.FacetType = FacetTypes.Range;
var key = filter.Key.ToLower();
if (facets.ContainsKey(key))
{
var facet = facets[key] as FilterFacetResult;
if (facet != null && facet.count > 0)
{
var newFacet = new Facet(facetGroup, group.Key, facet.count, valueLabels);
facetGroup.Facets.Add(newFacet);
}
}
}
else if (filter is CategoryFilter)
{
facetGroup.FacetType = FacetTypes.Category;
var key = string.Format(CultureInfo.InvariantCulture, "{0}-{1}", filter.Key, group.Key).ToLower();
if (facets.ContainsKey(key))
{
//.........这里部分代码省略.........