Ejemplo n.º 1
0
        protected override SqlOrderBy VisitSqlOrderBy(SqlOrderBy sqlOrderBy)
        {
            this.AppendColumnUsage(sqlOrderBy.Column);
            _sql.Append(" ");
            _sql.Append(sqlOrderBy.Direction == OrderDirection.Ascending ? "ASC" : "DESC");

            return(sqlOrderBy);
        }
Ejemplo n.º 2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         SqlOrderBy order1 = new SqlOrderBy("ZX_Info.time0", SqlOrderType.DESC);
         ViewState["orderby"] = order1;
         this.BindData();
     }
 }
Ejemplo n.º 3
0
        public void Create_Multiple_ReturnsCombinedPhrase()
        {
            var cols = new Dictionary <string, SortOrder>
            {
                { "TestCol", SortOrder.Ascending },
                { "OtherCol", SortOrder.Descending }
            };

            Assert.Equal($"TestCol ASC, OtherCol DESC", SqlOrderBy.Create(cols));
        }
Ejemplo n.º 4
0
        public void OrderBy()
        {
            Dictionary <string, SortOrder> cols = new Dictionary <string, SortOrder>
            {
                { "Name", SortOrder.Ascending },
                { "BankBalance", SortOrder.Descending }
            };

            string actual = SqlOrderBy.Create(cols);

            Assert.Equal("Name ASC, BankBalance DESC", actual);
        }
Ejemplo n.º 5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            SqlOrderBy order1 = new SqlOrderBy("ZX_Info.time0", SqlOrderType.DESC);
            ViewState["orderby"] = order1;
            this.BindData();

            //Util.Print(this.DropDownList1.SelectedValue);
            //Util.Print(DateTime.Now.ToString());
            needBind = false;
        }
    }
Ejemplo n.º 6
0
    //sort
    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {
        SqlOrderBy neworder = new SqlOrderBy(e.SortExpression, SqlOrderType.ASC);

        if (ViewState["orderby"] != null)
        {
            SqlOrderBy oldorder = (SqlOrderBy)ViewState["orderby"];
            neworder.GetRevertOrder(oldorder);
        }
        ViewState["orderby"] = neworder;
        this.BindData();
        needBind = false;
    }
Ejemplo n.º 7
0
        public void GetEnumerator_ReturnsEnumerator()
        {
            var values = new SqlOrderBy
            {
                new SqlSort("Id", SqlSortOrder.Ascending),
                new SqlSort("CreatedOn", SqlSortOrder.Descending)
            };

            var enumerator = ((IEnumerable)values).GetEnumerator();
            Assert.NotNull(enumerator);

            int count = 0;
            while (enumerator.MoveNext())
            {
                count++;
            }
            Assert.Equal(2, count);
        }
Ejemplo n.º 8
0
        public void GetEnumerator_ReturnsEnumerator()
        {
            var values = new SqlOrderBy
            {
                new SqlSort("Id", SqlSortOrder.Ascending),
                new SqlSort("CreatedOn", SqlSortOrder.Descending)
            };

            var enumerator = ((IEnumerable)values).GetEnumerator();

            Assert.NotNull(enumerator);

            int count = 0;

            while (enumerator.MoveNext())
            {
                count++;
            }
            Assert.Equal(2, count);
        }
Ejemplo n.º 9
0
        protected void SetDatatableRepository <T>(JDatatableViewModel model, string[] arrOrderColumn, ref IRepository <T> repo, ref JDatatableResponse result)
        {
            long?totalRecords = null;

            if (model.Length > -1) // get total records for pagging info only, model.length -1 = get all records
            {
                totalRecords = repo.Count();

                if (totalRecords == null)
                {
                    return;
                }

                result.TotalRecords        = totalRecords.Value;
                result.TotalDisplayRecords = totalRecords.Value;
            }

            SqlOrderBy orderBy = new SqlOrderBy()
            {
                Type   = SqlOrderType.Descending,
                Column = "CreatedDate"
            };

            if (model.IndexOrderCol <= arrOrderColumn.Length)
            {
                orderBy.Column = arrOrderColumn[model.IndexOrderCol];
                orderBy.Type   = model.OrderType.Equals(SqlOrderType.Ascending) ? SqlOrderType.Ascending : SqlOrderType.Descending;
            }

            repo.OrderBy = orderBy;

            if (model.Length > -1)
            {
                repo.Limit  = model.Length;
                repo.Offset = model.Start;
            }
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Visits the specified <see cref="SqlOrderBy"/>.
 /// </summary>
 /// <param name="expression">
 /// The expression to visit.
 /// </param>
 public virtual void Visit(SqlOrderBy expression)
 {
 }
Ejemplo n.º 11
0
 public void Add_WithNullSortExpression_ThrowsArgumentNull()
 {
     var orderBy = new SqlOrderBy();
     Assert.Throws<ArgumentNullException>(() => orderBy.Add(null));
 }
Ejemplo n.º 12
0
 public void Create_Empty_ReturnsEmptyString()
 {
     Assert.Equal(string.Empty, SqlOrderBy.Create(columns: new Dictionary <string, SortOrder>()));
 }
Ejemplo n.º 13
0
 protected virtual SqlExpression VisitOrderBy(SqlOrderBy expr)
 {
     return(expr);
 }
Ejemplo n.º 14
0
        public void Create_Single_ReturnsOnePhrase()
        {
            var sortKvp = new KeyValuePair <string, SortOrder>("TestCol", SortOrder.Ascending);

            Assert.Equal($"{sortKvp.Key} ASC", SqlOrderBy.Create(sortKvp));
        }
Ejemplo n.º 15
0
 public void ExpressionType_ReturnsOrderBy()
 {
     var orderBy = new SqlOrderBy();
     Assert.Equal(SqlExpressionType.OrderBy, orderBy.ExpressionType);
 }
Ejemplo n.º 16
0
        public void Add_WithNullSortExpression_ThrowsArgumentNull()
        {
            var orderBy = new SqlOrderBy();

            Assert.Throws <ArgumentNullException>(() => orderBy.Add(null));
        }
Ejemplo n.º 17
0
        public void ExpressionType_ReturnsOrderBy()
        {
            var orderBy = new SqlOrderBy();

            Assert.Equal(SqlExpressionType.OrderBy, orderBy.ExpressionType);
        }
Ejemplo n.º 18
0
            protected override SqlExpression VisitSelect(SqlSelect expr)
            {
                string fromExpression = null;

                if (expr.From != null)
                {
                    StringBuilder inner = _builder;
                    _builder = new StringBuilder();

                    if (IsSimpleCrossJoinList(expr.From))
                    {
                        VisitCrossJoinList(expr.From);
                    }
                    else
                    {
                        Visit(expr.From);
                    }

                    fromExpression = _builder.ToString();
                    _builder       = inner;
                }

                _builder.Append("SELECT ");

                if (expr.IsDistinct)
                {
                    _builder.Append("DISTINCT ");
                }

                if (expr.Top != null)
                {
                    _builder.Append("TOP ");
                    if (_parenthesizeTop)
                    {
                        _builder.Append("(");
                    }

                    Visit(expr.Top);

                    if (_parenthesizeTop)
                    {
                        _builder.Append(")");
                    }

                    _builder.Append(" ");
                    if (expr.IsPercent)
                    {
                        _builder.Append("PERCENT ");
                    }
                }

                if (expr.Selection.Expressions.Count > 0)
                {
                    VisitSelection(expr.Selection);
                }
                else
                {
                    _builder.Append("* ");
                }

                if (fromExpression != null)
                {
                    NewLine();
                    _builder.Append("FROM ");
                    _builder.Append(fromExpression);
                }

                if (expr.Where != null)
                {
                    NewLine();
                    _builder.Append("WHERE ");

                    Visit(expr.Where);
                }

                if (expr.GroupBy.Expressions.Count > 0)
                {
                    NewLine();
                    _builder.Append("GROUP BY ");

                    for (int i = 0; i < expr.GroupBy.Expressions.Count; ++i)
                    {
                        SqlExpression node = expr.GroupBy.Expressions[i];
                        if (i > 0)
                        {
                            _builder.Append(", ");
                        }

                        Visit(node);
                    }

                    if (expr.Having != null)
                    {
                        NewLine();
                        _builder.Append("HAVING ");

                        Visit(expr.Having);
                    }
                }
                if (expr.OrderBy.Expressions.Count > 0)
                {
                    NewLine();
                    _builder.Append("ORDER BY ");

                    for (int i = 0; i < expr.OrderBy.Expressions.Count; ++i)
                    {
                        SqlOrderBy ob = expr.OrderBy.Expressions[i];
                        if (i > 0)
                        {
                            _builder.Append(", ");
                        }

                        Visit(ob.Expression);
                        if (ob.OrderType == SqlOrderType.Descending)
                        {
                            _builder.Append(" DESC");
                        }
                    }
                }
                return(expr);
            }
Ejemplo n.º 19
0
        private void VisitOrderBy(MethodCallExpression expression, SqlOrderBy orderBy)
        {
            ProcessTable(expression);

            var lambda = (LambdaExpression)((UnaryExpression)expression.Arguments[1]).Operand;
            var member = (MemberExpression)lambda.Body;
            string column = GetColumnName(member.Member);
            var tableAlias = lambda.Parameters[0].Name;
            if (member.Expression is MemberExpression) {
                tableAlias = ((MemberExpression)member.Expression).Member.Name;
            }
            var order = new SqlOrderByColumn { Prefix = tableAlias, Name = column, Direction = orderBy };
            Query.OrderBy.Add(order);
        }
Ejemplo n.º 20
0
 /// <summary>
 /// Visits the specified <see cref="SqlOrderBy"/>.
 /// </summary>
 /// <param name="expression">
 /// The expression to visit.
 /// </param>
 public virtual void Visit(SqlOrderBy expression)
 {
 }
Ejemplo n.º 21
0
 protected virtual SqlExpression VisitOrderBy(SqlOrderBy expr)
 {
     return expr;
 }