Exemple #1
0
 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);
 }
Exemple #2
0
        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));
        }