QueryDto
class QueryDto
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Relativity.Transfer.Dto
{
[JsonObject(MemberSerialization.OptIn)]
internal class QueryDto
{
[JsonProperty(PropertyName = "query", NullValueHandling = NullValueHandling.Ignore)]
public QueryRefDto Query { get; set; }
public QueryDto()
{
Query = new QueryRefDto();
}
public static QueryDto CreateQuery(string condition)
{
return CreateQuery(condition, new string[0]);
}
public static QueryDto CreateQuery(string condition, IEnumerable<string> fields)
{
NormalizeCondition(ref condition);
List<string> list = fields.ToList();
if (list.Count == 0)
list.Add("*");
return new QueryDto {
Query = new QueryRefDto {
Condition = condition,
Fields = list
}
};
}
public static void NormalizeCondition(ref string condition)
{
if (!string.IsNullOrEmpty(condition)) {
if (!condition.StartsWith("\"", StringComparison.OrdinalIgnoreCase))
condition = "\"" + condition;
if (!condition.EndsWith("\"", StringComparison.OrdinalIgnoreCase))
condition += "\"";
}
}
}
}