Exemplo n.º 1
0
 internal NearRestrictionData(StoreSession storeSession, NearFilter nearFilter)
 {
     if (nearFilter == null || nearFilter.Filter == null)
     {
         MrsTracer.Common.Error("Null near filter in near restriction data constructor", new object[0]);
         throw new CorruptRestrictionDataException();
     }
     this.Distance        = (int)nearFilter.Distance;
     this.Ordered         = nearFilter.Ordered;
     this.RestrictionData = new AndRestrictionData(storeSession, nearFilter.Filter);
 }
Exemplo n.º 2
0
        public static ICollection <QueryFilter> FlattenQueryFilter(QueryFilter filter)
        {
            List <QueryFilter> list       = new List <QueryFilter>();
            TextFilter         textFilter = filter as TextFilter;

            if (textFilter != null)
            {
                list.Add(textFilter);
            }
            AndFilter andFilter = filter as AndFilter;

            if (andFilter != null)
            {
                list.Add(andFilter);
            }
            NotFilter notFilter = filter as NotFilter;

            if (notFilter != null)
            {
                list.Add(notFilter);
            }
            NearFilter nearFilter = filter as NearFilter;

            if (nearFilter != null)
            {
                list.Add(nearFilter);
            }
            OrFilter orFilter = filter as OrFilter;

            if (orFilter != null)
            {
                foreach (QueryFilter filter2 in orFilter.Filters)
                {
                    list.AddRange(AqsParser.FlattenQueryFilter(filter2));
                }
            }
            return(list);
        }