Пример #1
0
 internal static void AppendKeywordOrClause(StringBuilder query, PropertyKeyword keyword, ICollection <string> valuesToQuery)
 {
     EnumValidator.ThrowIfInvalid <PropertyKeyword>(keyword);
     if (valuesToQuery != null && valuesToQuery.Count > 0)
     {
         bool flag = false;
         foreach (string value in valuesToQuery)
         {
             if (!string.IsNullOrEmpty(value))
             {
                 if (!flag)
                 {
                     flag = true;
                     AqsQueryBuilder.AppendLeadingSpaceIfNecessary(query);
                     query.Append(keyword.ToString().ToLower()).Append(":(");
                 }
                 else
                 {
                     query.Append(AqsQueryBuilder.AqsQueryORSeparator);
                 }
                 query.Append("\"").Append(value).Append("\"");
             }
         }
         if (flag)
         {
             query.Append(")");
         }
     }
 }
Пример #2
0
        internal static void AppendDateClause(StringBuilder query, PropertyKeyword keyword, DateRangeQueryOperation operation, DateTime date)
        {
            EnumValidator.ThrowIfInvalid <PropertyKeyword>(keyword, AqsQueryBuilder.ValidDateKeywords);
            EnumValidator.ThrowIfInvalid <DateRangeQueryOperation>(operation);
            AqsQueryBuilder.AppendLeadingSpaceIfNecessary(query);
            query.Append(keyword.ToString().ToLower()).Append(":(");
            switch (operation)
            {
            case DateRangeQueryOperation.Equal:
                query.Append("=");
                break;

            case DateRangeQueryOperation.GreaterThan:
                query.Append(">");
                break;

            case DateRangeQueryOperation.GreaterThanOrEqual:
                query.Append(">=");
                break;

            case DateRangeQueryOperation.LessThan:
                query.Append("<");
                break;

            case DateRangeQueryOperation.LessThanOrEqual:
                query.Append("<=");
                break;
            }
            query.Append(date.ToLocalTime().ToString(AqsQueryBuilder.AqsDateTimeFormat, CultureInfo.InvariantCulture));
            query.Append(")");
        }