예제 #1
0
        internal static Type GetExpectedType(this RESTarMetaCondition condition)
        {
            switch (condition)
            {
            case RESTarMetaCondition.Unsafe: return(typeof(bool));

            case RESTarMetaCondition.Limit: return(typeof(int));

            case RESTarMetaCondition.Offset: return(typeof(int));

            case RESTarMetaCondition.Order_asc: return(typeof(string));

            case RESTarMetaCondition.Order_desc: return(typeof(string));

            case RESTarMetaCondition.Select: return(typeof(string));

            case RESTarMetaCondition.Add: return(typeof(string));

            case RESTarMetaCondition.Rename: return(typeof(string));

            case RESTarMetaCondition.Distinct: return(typeof(bool));

            case RESTarMetaCondition.Search: return(typeof(string));

            case RESTarMetaCondition.Search_regex: return(typeof(string));

            case RESTarMetaCondition.Safepost: return(typeof(string));

            case RESTarMetaCondition.Format: return(typeof(string));

            default: throw new ArgumentOutOfRangeException(nameof(condition), condition, null);
            }
        }
예제 #2
0
 /// <summary>
 /// Creates a new custom UriCondition encoding a meta-condition
 /// </summary>
 public UriCondition(RESTarMetaCondition metaCondition, string valueLiteral)
 {
     if (metaCondition < RESTarMetaCondition.Unsafe || metaCondition > RESTarMetaCondition.Format)
     {
         throw new ArgumentOutOfRangeException(nameof(metaCondition));
     }
     Key           = metaCondition.ToString().ToLower();
     Operator      = Operator.EQUALS;
     ValueLiteral  = valueLiteral;
     ValueTypeCode = Type.GetTypeCode(metaCondition.GetExpectedType());
 }