protected override SqlOrderBy VisitSqlOrderBy(SqlOrderBy sqlOrderBy) { this.AppendColumnUsage(sqlOrderBy.Column); _sql.Append(" "); _sql.Append(sqlOrderBy.Direction == OrderDirection.Ascending ? "ASC" : "DESC"); return(sqlOrderBy); }
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(); } }
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)); }
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); }
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; } }
//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; }
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); }
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); }
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; } }
/// <summary> /// Visits the specified <see cref="SqlOrderBy"/>. /// </summary> /// <param name="expression"> /// The expression to visit. /// </param> public virtual void Visit(SqlOrderBy expression) { }
public void Add_WithNullSortExpression_ThrowsArgumentNull() { var orderBy = new SqlOrderBy(); Assert.Throws<ArgumentNullException>(() => orderBy.Add(null)); }
public void Create_Empty_ReturnsEmptyString() { Assert.Equal(string.Empty, SqlOrderBy.Create(columns: new Dictionary <string, SortOrder>())); }
protected virtual SqlExpression VisitOrderBy(SqlOrderBy expr) { return(expr); }
public void Create_Single_ReturnsOnePhrase() { var sortKvp = new KeyValuePair <string, SortOrder>("TestCol", SortOrder.Ascending); Assert.Equal($"{sortKvp.Key} ASC", SqlOrderBy.Create(sortKvp)); }
public void ExpressionType_ReturnsOrderBy() { var orderBy = new SqlOrderBy(); Assert.Equal(SqlExpressionType.OrderBy, orderBy.ExpressionType); }
public void Add_WithNullSortExpression_ThrowsArgumentNull() { var orderBy = new SqlOrderBy(); Assert.Throws <ArgumentNullException>(() => orderBy.Add(null)); }
public void ExpressionType_ReturnsOrderBy() { var orderBy = new SqlOrderBy(); Assert.Equal(SqlExpressionType.OrderBy, orderBy.ExpressionType); }
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); }
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); }
/// <summary> /// Visits the specified <see cref="SqlOrderBy"/>. /// </summary> /// <param name="expression"> /// The expression to visit. /// </param> public virtual void Visit(SqlOrderBy expression) { }
protected virtual SqlExpression VisitOrderBy(SqlOrderBy expr) { return expr; }