Ejemplo n.º 1
0
 private OQuery CreateMainQuery(string name, string folderName)
 {
     return(OQuery
            .From(name)
            .Let("FolderName", folderName)
            .Where("item => FolderName == $FolderName"));
 }
Ejemplo n.º 2
0
        public IContentQuery <T> WhereEquals(string fieldName, object value)
        {
            var expression = new WhereEqualsExpression(this.Expression, fieldName, value);

            //
            if (this is TextContentQuery)
            {
                expression.OQueryExpression = OQuery
                                              .From((this as TextContentQuery).Schema.Name)
                                              .Where(string.Format("item=> item.{0} eq '{1}'", fieldName, value));
            }
            return(this.Create(expression));
        }
Ejemplo n.º 3
0
        public IContentQuery <T> Take(int count)
        {
            var expression = new TakeExpression(this.Expression, count);

            //
            if (this is TextContentQuery)
            {
                expression.OQueryExpression = OQuery
                                              .From((this as TextContentQuery).Schema.Name)
                                              .Take(count);
            }

            return(this.Create(expression));
        }
Ejemplo n.º 4
0
        public OQuery Attach(OQuery src, IExpression expression)
        {
            if (expression is TakeExpression && expression.OQueryExpression != null)
            {
                src.Take(expression.OQueryExpression._top);
            }
            else if (expression is SkipExpression && expression.OQueryExpression != null)
            {
                src.Skip(expression.OQueryExpression._skip);
            }
            else if (expression is OrderExpression)
            {
                var orderExpression = (OrderExpression)expression;
                if (orderExpression.Descending)
                {
                    src.OrderbyDesc(orderExpression.FieldName);
                }
                else
                {
                    src.Orderby(orderExpression.FieldName);
                }
            }
            else if (expression is AndAlsoExpression)
            {
                var andAlsoExpression = (AndAlsoExpression)expression;
                if (andAlsoExpression.Left != null)
                {
                    Attach(src, andAlsoExpression.Left);
                }

                if (andAlsoExpression.Right != null)
                {
                    Attach(src, andAlsoExpression.Right);
                }
            }
            else if (expression is OrElseExpression)
            {
                var orElseExpression = (OrElseExpression)expression;
                if (orElseExpression.Left != null)
                {
                    Attach(src, orElseExpression.Left);
                }

                if (orElseExpression.Right != null)
                {
                    Attach(src, orElseExpression.Right);
                }
            }


            if (expression.OQueryExpression != null)
            {
                src.Attach(expression.OQueryExpression);
            }


            if (expression is Expression)
            {
                var exp = (Expression)expression;
                if (exp.InnerExpression != null)
                {
                    return(Attach(src, exp.InnerExpression));
                }
            }

            return(src);
        }
Ejemplo n.º 5
0
 public void TestSimpleQuery()
 {
     OQuery<EntityMock> query = new OQuery<EntityMock>();
 }
Ejemplo n.º 6
0
 public WhereContainsExpression(IExpression expression, string fieldName, object value)
     : base(expression, fieldName, value)
 {
     OQueryExpression = OQuery.From(null).Where(string.Format("item => item.{0}.Contains('{1}')", fieldName, value));
 }