/// <summary> /// Initializes a new instance of the <see cref="DocumentQueryCriteria" /> class. /// </summary> /// <param name="property">The <see cref="DocumentQueryProperty" />.</param> /// <param name="queryOperator">The <see cref="QueryOperator" />.</param> private DocumentQueryCriteria(DocumentQueryProperty property, QueryOperator queryOperator) { if (!property.Operators.Contains(queryOperator)) { throw new ArgumentException($"{queryOperator} is not a valid operator for query property {property.Name}."); } _propertyName = property.Name; _queryOperator = queryOperator; }
/// <summary> /// Initializes a new instance of the <see cref="DocumentQueryCriteria" /> class. /// </summary> /// <param name="property">The <see cref="DocumentQueryProperty" />.</param> /// <param name="queryOperator">The <see cref="QueryOperator" />.</param> /// <param name="values">The criteria query values.</param> public DocumentQueryCriteria(DocumentQueryProperty property, QueryOperator queryOperator, IEnumerable <object> values) : this(property, queryOperator) { if (values == null) { throw new ArgumentNullException(nameof(values)); } foreach (object value in values) { _values.Add(value); } }
/// <summary> /// Initializes a new instance of the <see cref="DocumentQueryCriteria" /> class. /// </summary> /// <param name="property">The <see cref="DocumentQueryProperty" />.</param> /// <param name="queryOperator">The <see cref="QueryOperator" />.</param> /// <param name="value">The criteria query value.</param> public DocumentQueryCriteria(DocumentQueryProperty property, QueryOperator queryOperator, object value) : this(property, queryOperator) { _values.Add(value); }