private static string ToUriValueString(IUriCondition condition) { var valueLiteral = condition.ValueLiteral; switch (condition.ValueTypeCode) { case TypeCode.Empty: return("null"); case TypeCode.Char: case TypeCode.String: var encoded = valueLiteral.UriEncode(); switch (encoded) { case null: return("null"); case "false": case "False": case "FALSE": case "true": case "True": case "TRUE": case var _ when encoded.All(char.IsDigit): return($"'{encoded}'"); default: return(encoded); } default: return(valueLiteral); } }
private static string ToUriString(IUriCondition condition) { if (condition == null) { return(""); } var op = ((Operator)condition.Operator).Common; var value = ToUriValueString(condition); return($"{condition.Key.UriEncode()}{op}{value}"); }