/* * private void CreateDisplayFilters(FilteredBrowsing browsing) * { * List<RangeFilter> filters = null; * * if (browsing.AttributeRanges != null) * { * filters = new List<RangeFilter>(browsing.AttributeRanges); * } * else * { * filters = new List<RangeFilter>(); * } * * var filter = new RangeFilter(); * filter.Key = "DisplaySize"; * * var vals = new List<RangeFilterValue>(); * * vals.Add(CreateRange("20 Inches & Under", "under-i20", String.Empty, "20", "en")); * vals.Add(CreateRange("21 to 29 Inches", "i21-29", "21", "29", "en")); * vals.Add(CreateRange("30 to 39 Inches", "i21-29", "30", "39", "en")); * vals.Add(CreateRange("40 to 49 Inches", "i21-29", "40", "49", "en")); * vals.Add(CreateRange("50 Inches & Up", "over-i50", "50", String.Empty, "en")); * * filters.Add(filter); * * browsing.AttributeRanges = filters.ToArray(); * } */ private static void CreateFilters(FilteredBrowsing browsing) { var filters = browsing.Attributes != null ? new List <AttributeFilter>(browsing.Attributes) : new List <AttributeFilter>(); var vals = new List <AttributeFilterValue>(); var filter = new AttributeFilter { Key = "Brand" }; var val = new AttributeFilterValue { Id = "samsung", Value = "samsung" }; var val2 = new AttributeFilterValue { Id = "sony", Value = "sony" }; var val3 = new AttributeFilterValue { Id = "apple", Value = "apple" }; vals.Add(val); vals.Add(val2); vals.Add(val3); filter.Values = vals.ToArray(); filters.Add(filter); browsing.Attributes = filters.ToArray(); }
/// <summary> /// Creates the query. /// </summary> /// <param name="field">The field.</param> /// <param name="value">The value.</param> /// <returns></returns> public static Filter CreateQuery(string field, AttributeFilterValue value) { object val = value.Value; var query = new TermsFilter(); query.AddTerm(new Term(field, ConvertToSearchable(val, false))); return(query); }
private static AttributeFilterValue ConvertToAttributeFilterValue(PropertyDictionaryValue dictionaryValue) { var result = new AttributeFilterValue { Id = dictionaryValue.Alias, Value = dictionaryValue.Value, }; return(result); }