예제 #1
0
        /// <summary>Builds a count query.</summary>
        /// <param name="filter">An optional filter.</param>
        /// <param name="token">Optional query token.</param>
        /// <returns>A count query.</returns>
        public static IQuery BuildCountQuery(FieldFilter filter = null, object token = null)
        {
            CountQuery countQuery = new CountQuery
            {
                Filter = filter,
                Token  = token
            };

            return(countQuery);
        }
예제 #2
0
        /// <summary>Builds a simple query.</summary>
        /// <param name="filter">An optional filter.</param>
        /// <param name="sortOption">Optional sorting options.</param>
        /// <param name="token">Optional query token.</param>
        /// <returns>A simple query.</returns>
        public static IQuery BuildSimpleQuery(FieldFilter filter = null, Sort sortOption = null, object token = null)
        {
            SimpleQuery simpleQuery = new SimpleQuery
            {
                Filter = filter,
                Sort   = sortOption,
                Token  = token
            };

            return(simpleQuery);
        }
예제 #3
0
        /// <summary>Builds an indexed query.</summary>
        /// <param name="pageSize">The number of results to return.</param>
        /// <param name="index">The results starting index.</param>
        /// <param name="filter">An optional filter.</param>
        /// <param name="sortOption">Optional sorting options.</param>
        /// <param name="token">Optional query token.</param>
        /// <returns>A paged query.</returns>
        public static IQuery BuildIndexedQuery(int pageSize, int index = 0, FieldFilter filter = null, Sort sortOption = null, object token = null)
        {
            IndexedQuery indexedQuery = new IndexedQuery
            {
                PageSize = pageSize,
                Index    = index,
                Filter   = filter,
                Sort     = sortOption,
                Token    = token
            };

            return(indexedQuery);
        }
예제 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CompoundFieldFilter" /> class.
 /// </summary>
 /// <param name="leftFilter">The left filter.</param>
 /// <param name="operation">The operation.</param>
 /// <param name="rightFilter">The right filter.</param>
 public CompoundFieldFilter(FieldFilter leftFilter, FieldFilterOperation operation, FieldFilter rightFilter)
 {
     LeftFilter  = leftFilter ?? throw new ArgumentException("leftFilter cannot be null");
     Operator    = operation;
     RightFilter = rightFilter ?? throw new ArgumentException("rightFilter cannot be null");
 }
예제 #5
0
        /// <summary>Builds a seek query.</summary>
        /// <param name="seekOperation">The seek operation to perform.</param>
        /// <param name="pageSize">The desired result page size.</param>
        /// <param name="index">The index of the page to retrieve. This is only used if the seek operation specified a page index.</param>
        /// <param name="filter">An optional filter to apply.</param>
        /// <param name="sortingOption">An optional sorting options.</param>
        /// <param name="token">An optional query token.</param>
        /// <returns>The seek query.</returns>
        public static IQuery BuildSeekQuery(SeekOperation seekOperation, int pageSize = 0, int index = 0, FieldFilter filter = null, Sort sortingOption = null, object token = null)
        {
            SeekQuery seekQuery = new SeekQuery
            {
                SeekOperation = seekOperation,
                PageSize      = pageSize,
                Index         = index,
                Filter        = filter,
                Sort          = sortingOption,
                Token         = token
            };

            return(seekQuery);
        }