public bool Contains(IJSONDocument entry, IJsonValue item) { foreach (var value in _values) { IJsonValue outValue; if (value.Evaluate(out outValue, entry) && item.Equals(outValue)) { return(true); } } return(false); }
public static bool Equals(IJsonValue value1, IJsonValue value2, bool isWild = false) { if (isWild) { StringConstantValue wildString = (StringConstantValue)value2; IJsonValue[] jsonValues1 = null; if (value1.DataType == Common.Enum.FieldDataType.Array) { jsonValues1 = ((ArrayJsonValue)value1).WrapedValue; } else if (value1.DataType == Common.Enum.FieldDataType.Embedded) { jsonValues1 = ((EmbeddedList)value1).WrapedValue.ToArray(); } else { jsonValues1 = new IJsonValue[] { value1 } }; foreach (var value in jsonValues1) { if (value is StringJsonValue) { if (wildString.WildCompare(value.Value as string)) { return(true); } } } return(false); } if (value1 is EmbeddedList) { return(value1.Equals(value2)); } return(value2.Equals(value1)); }