protected AsnFilterItem CreateFilter(dynamic asnGroup, dynamic element) { Uri filterLink = ConvertServerQueryToClientUrl(element.searchParams); AsnFilterItem filter; if (asnGroup.Style == AsnGroupStyle.Slider) { NameValueCollection parameters = ((string)element.searchParams).ToParameters(); filter = new AsnSliderItem( filterLink, (float)element.absoluteMinValue, (float)element.absoluteMaxValue, (float)element.selectedMinValue, (float)element.selectedMaxValue, (string)element.associatedFieldName ); } else { filter = new AsnFilterItem( (string)element.name, filterLink, (bool)element.selected, (int)element.recordCount, (int)element.clusterLevel, (string)(element.previewImageURL ?? ""), (string)(element.associatedFieldName ?? "") ); } return(filter); }
protected AfterSearchNavigation CreateAsn() { var asn = new List <AsnGroup>(); foreach (var groupData in JsonData.searchResult.groups) { var asnGroup = CreateGroupInstance(groupData); var elements = groupData.selectedElements; elements.AddRange((IEnumerable <object>)groupData.elements); foreach (var element in elements) { AsnFilterItem filter = CreateFilter(asnGroup, element); asnGroup.Add(filter); } asn.Add(asnGroup); } return(new AfterSearchNavigation(asn)); }