Esempio n. 1
0
 /// <summary>
 /// Adds a filter to the given request builder.
 /// </summary>
 /// <typeparam name="TValue"></typeparam>
 /// <param name="builder"></param>
 /// <param name="fieldName"></param>
 /// <param name="operator"></param>
 /// <param name="value"></param>
 /// <returns></returns>
 public static ListRequestBuilder <T> Where <T, TValue>(this ListRequestBuilder <T> builder, string fieldName, ListFilterOperator @operator, TValue value)
 {
     builder.Request.Filters.Add(new ListQuery.ListFilter()
     {
         Name     = fieldName,
         Operator = @operator,
         Value    = value
     });
     return(builder);
 }
Esempio n. 2
0
        /// <summary>
        /// Sets the order by fields.
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="fields"></param>
        /// <returns></returns>
        public static ListRequestBuilder <T> Order <T>(this ListRequestBuilder <T> builder, IEnumerable <string> fields)
        {
            builder.Request.Order = fields.Select(s => new SortField()
            {
                Name           = s.TrimStart('-'),
                SortDescending = s.StartsWith("-")
            }).ToList();

            return(builder);
        }
Esempio n. 3
0
 /// <summary>
 /// Sets the <see cref="ListRequest.Fields"/> collection.
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="fields"></param>
 /// <returns></returns>
 public static ListRequestBuilder <T> Select <T>(this ListRequestBuilder <T> builder, IEnumerable <string> fields)
 {
     builder.Request.Fields = fields.ToList();
     return(builder);
 }
Esempio n. 4
0
 /// <summary>
 /// Sets the <see cref="ListRequest.Fields"/> collection.
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="fields"></param>
 /// <returns></returns>
 public static ListRequestBuilder <T> Select <T>(this ListRequestBuilder <T> builder, params string[] fields)
 {
     return(Select(builder, (IEnumerable <string>)fields));
 }
Esempio n. 5
0
 /// <summary>
 /// Gets a full URI for the request.
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="baseUrl"></param>
 /// <returns></returns>
 public static System.Uri ToUri <T>(this ListRequestBuilder <T> builder, string baseUrl)
 {
     return(new System.Uri(string.Concat(baseUrl, ToQueryString(builder))));
 }
Esempio n. 6
0
 /// <summary>
 /// Gets the underlying request object.
 /// </summary>
 /// <param name="builder"></param>
 /// <returns></returns>
 public static IListRequest ToRequest <T>(this ListRequestBuilder <T> builder)
 {
     return(builder.Request);
 }
Esempio n. 7
0
 /// <summary>
 /// Gets a query string representing the given query.
 /// </summary>
 /// <param name="builder"></param>
 /// <returns></returns>
 public static string ToQueryString <T>(this ListRequestBuilder <T> builder)
 {
     return(builder.Request.ToQueryString());
 }
Esempio n. 8
0
 /// <summary>
 /// Sets the offset for the request.
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="offset"></param>
 /// <returns></returns>
 public static ListRequestBuilder <T> Offset <T>(this ListRequestBuilder <T> builder, int offset)
 {
     builder.Request.Offset = offset;
     return(builder);
 }
Esempio n. 9
0
 /// <summary>
 /// Sets the limit value for the request.
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="limit"></param>
 /// <returns></returns>
 public static ListRequestBuilder <T> Limit <T>(this ListRequestBuilder <T> builder, int limit)
 {
     builder.Request.Limit = limit;
     return(builder);
 }