public SkipQueryOption(string rawValue, RawQueryOptions rawValues) { this.rawValues = rawValues; if (String.IsNullOrEmpty(rawValue)) { throw new Exception(" Skip rawValue is null"); } int tem; if (int.TryParse(rawValue, out tem)) { RawValue = tem; } else { throw new Exception("Skip rawValue is not a int"); } }
public JsonQueryOptions( HttpRequestMessage request) { if (request == null) { throw new Exception("request is null"); } // remember the context and request Request = request; // Parse the query from request Uri RawValues = new RawQueryOptions(); IEnumerable<KeyValuePair<string, string>> queryParameters = request.GetQueryNameValuePairs(); foreach (KeyValuePair<string, string> kvp in queryParameters) { switch (kvp.Key) { case "$where": RawValues.Where = kvp.Value; ThrowIfEmpty(kvp.Value, "$where"); Where = new FilterQueryOption(kvp.Value); break; case "$orderby": RawValues.OrderBy = kvp.Value; ThrowIfEmpty(kvp.Value, "$orderby"); OrderBy = new OrderByQueryOption(kvp.Value); break; case "$top": RawValues.Top = kvp.Value; ThrowIfEmpty(kvp.Value, "$top"); Top = new TopQueryOption(kvp.Value); break; case "$skip": RawValues.Skip = kvp.Value; ThrowIfEmpty(kvp.Value, "$skip"); Skip = new SkipQueryOption(kvp.Value, RawValues); break; case "$skiptoken": RawValues.SkipToken = kvp.Value; break; default: // we don't throw if we can't recognize the query break; } } }