Пример #1
0
        internal string BuildStatement()
        {
            var start = StartClause == null ? null : "START " + CypherStartClauseBuilder.BuildStartClause(StartClause);
            var match = MatchClauses.Any()
                            ? "MATCH " +
                        String.Join(", ", MatchClauses.Select(CypherMatchClauseBuilder.BuildMatchClause))
                            : null;
            var createRel = CreateRelationpClause == null
                                ? null
                                : "CREATE " +
                            CypherCreateRelationshipClauseBuilder.BuildCreateClause(CreateRelationpClause);

            var where = WherePredicate == null
                            ? null
                            : "WHERE " + CypherWhereClauseBuilder.BuildWhereClause(WherePredicate);
            var setClause = SetterClauses.Any()
                                ? "SET " +
                            String.Join(" SET ", SetterClauses.Select(CypherSetClauseBuilder.BuildSetClause))
                                : null;
            var orderBy = OrderByClauses.Any()
                              ? "ORDER BY " +
                          String.Join(", ", OrderByClauses.Select(CypherOrderByClauseBuilder.BuildOrderByClause))
                              : null;

            var @return = ReturnClause == null ? null : "RETURN " + CypherReturnsClauseBuilder.BuildReturnClause(ReturnClause);
            var @delete = DeleteClause == null ? null : "DELETE " + CypherDeleteClauseBuilder.BuildDeleteClause(DeleteClause);
            var skip    = Skip == null ? null : String.Format("SKIP {0}", Skip);
            var limit   = Limit == null ? null : String.Format("LIMIT {0}", Limit);

            return(String.Join(" ",
                               new[] { start, createRel, match, where, setClause, @return, @delete, orderBy, skip, limit }.Where(s => s != null)));
        }
Пример #2
0
        public override ISelect GenerateSelectWithoutDefaultOrderBy()
        {
            var hasNoConfiguration = customAlias == null && !OrderByClauses.Any() && !WhereClauses.Any() &&
                                     ColumnSelection == null && RowSelection == null;

            return(hasNoConfiguration ? innerSelect : base.GenerateSelectWithoutDefaultOrderBy());
        }
Пример #3
0
        public void RenderOrderByClauses()
        {
            Column         column1        = new Column("Column1");
            Column         column2        = new Column("Column2");
            OrderByClause  orderByClause1 = new OrderByClause(column1);
            OrderByClause  orderByClause2 = new OrderByClause(column2, OrderType.Descending);
            OrderByClauses orderByClauses = new OrderByClauses(orderByClause1, orderByClause2);

            Assert.AreEqual("[Column1] ASC, [Column2] DESC", sqlClientRenderer.Render(orderByClauses));
        }
Пример #4
0
        public void CreateOrderByClauses()
        {
            Column         column1        = new Column("Column1");
            Column         column2        = new Column("Column2");
            OrderByClause  orderByClause1 = new OrderByClause(column1);
            OrderByClause  orderByClause2 = new OrderByClause(column2);
            OrderByClauses orderByClauses = new OrderByClauses(orderByClause1, orderByClause2);

            Assert.AreEqual(orderByClause1, orderByClauses.LeftClause);
            Assert.AreEqual(orderByClause2, orderByClauses.RightClause);
        }
Пример #5
0
 public SQLClause(SelectClauses _select,
                  object _from,
                  JoinClauses _join,
                  WhereClauses _where,
                  OrderByClauses _orderby)
 {
     this._select  = _select;
     this._from    = _from;
     this._join    = _join;
     this._where   = _where;
     this._orderby = _orderby;
 }
Пример #6
0
 public override string Render(OrderByClauses orderByClauses)
 {
     if (orderByClauses.LeftClause == null)
     {
         return(orderByClauses.RightClause.Render(this));
     }
     else if (orderByClauses.RightClause == null)
     {
         return(orderByClauses.LeftClause.Render(this));
     }
     else
     {
         return(string.Format("{0}, {1}", orderByClauses.LeftClause.Render(this), orderByClauses.RightClause.Render(this)));
     }
 }
Пример #7
0
 public override void AddOrder(string fieldName, bool @descending)
 {
     OrderByClauses.Add(new OrderByField(new TableColumn(new Column(fieldName), From.Source.Alias), @descending ? OrderByDirection.Descending : OrderByDirection.Ascending));
 }
Пример #8
0
        public Query <T> OrderBy(OrderByClause <T> orderBy)
        {
            OrderByClauses.Add(orderBy);

            return(this);
        }
Пример #9
0
 public abstract string Render(OrderByClauses orderByClauses);
Пример #10
0
 public Specification <T> OrderBy(OrderByClause <T> clause)
 {
     OrderByClauses.Add(clause);
     return(this);
 }
Пример #11
0
 public Query <T> OrderByDescending(string orderBy)
 {
     OrderByClauses.Add(new OrderByClause <T>(orderBy, true));
     return(this);
 }
Пример #12
0
 public Query <T> OrderBy(string orderBy)
 {
     OrderByClauses.Add(new OrderByClause <T>(orderBy, false));
     return(this);
 }
Пример #13
0
 public Query <T> OrderByDescending(Expression <Func <T, object> > orderBy)
 {
     OrderByClauses.Add(new OrderByClause <T>(orderBy, true));
     return(this);
 }
Пример #14
0
 public Query <T> OrderBy(Expression <Func <T, object> > orderBy)
 {
     OrderByClauses.Add(new OrderByClause <T>(orderBy, false));
     return(this);
 }