示例#1
0
        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);
        }
示例#2
0
        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));
        }