public override object Evaluate(ISoqlEvaluateContext context)
        {
            object val;

            if (this.Left == null)
            {
                val = context.GetRootObject();
            }
            else
            {
                val = this.Left.Evaluate(context);
            }

            if (val == null)
            {
                return(null);
            }

            if (_propInfoCache == null)
            {
                _propInfoCache = val.GetType().GetProperty(PropertyName);
                if (_propInfoCache == null)
                {
                    throw new SoodaException(PropertyName + " not found in " + val.GetType().Name);
                }
            }

            return(_propInfoCache.GetValue(val, null));
        }
        public override object Evaluate(ISoqlEvaluateContext context)
        {
            object val;

            if (this.Path != null)
                val = this.Path.Evaluate(context);
            else
                val = context.GetRootObject();

            if (val == null)
                return null;

            SoodaObject so = (SoodaObject)val;
            return so.GetClassInfo().Name;
        }
        public override object Evaluate(ISoqlEvaluateContext context)
        {
            object val;

            if (this.Path != null)
            {
                val = this.Path.Evaluate(context);
            }
            else
            {
                val = context.GetRootObject();
            }
            if (val == null)
                return null;

            IList sol = (IList)val.GetType().GetProperty(CollectionName).GetValue(val, null);
            return sol.Count;
        }
示例#4
0
        public override object Evaluate(ISoqlEvaluateContext context)
        {
            object val;

            if (this.Path != null)
            {
                val = this.Path.Evaluate(context);
            }
            else
            {
                val = context.GetRootObject();
            }
            if (val == null)
            {
                return(null);
            }

            IList sol = (IList)val.GetType().GetProperty(CollectionName).GetValue(val, null);

            return(sol.Count);
        }
示例#5
0
        public override object Evaluate(ISoqlEvaluateContext context)
        {
            object val;

            if (this.Path != null)
            {
                val = this.Path.Evaluate(context);
            }
            else
            {
                val = context.GetRootObject();
            }

            if (val == null)
            {
                return(null);
            }

            SoodaObject so = (SoodaObject)val;

            return(so.GetClassInfo().Name);
        }
        public override object Evaluate(ISoqlEvaluateContext context)
        {
            object val;

            if (this.Left == null)
            {
                val = context.GetRootObject();
            }
            else
            {
                val = this.Left.Evaluate(context);
            }

            if (val == null)
                return null;

            if (_propInfoCache == null)
            {
                _propInfoCache = val.GetType().GetProperty(PropertyName);
                if (_propInfoCache == null)
                    throw new SoodaException(PropertyName + " not found in " + val.GetType().Name);
            }

            return _propInfoCache.GetValue(val, null);
        }