public JsonResult QueryListDemo() { //每页显示条数: ProductListQueryFilter qFilter = BuildQueryFilterEntity <ProductListQueryFilter>(s => { if (!string.IsNullOrEmpty(s.Status)) { s.Status = s.Status.Contains("-") ? null : s.Status; } }); var result = ProductService.QueryProductList(qFilter); return(AjaxGridJson(result)); }
/// <summary> /// 分页查询商品列表Demo /// </summary> /// <param name="queryFilter"></param> /// <returns></returns> public static QueryResult <ProductInfo> QueryProductList(ProductListQueryFilter queryFilter) { CustomDataCommand command = DataCommandManager.CreateCustomDataCommandFromConfig("QueryProductList"); using (var sqlBuilder = new DynamicQuerySqlBuilder(command.CommandText, command, queryFilter, string.IsNullOrEmpty(queryFilter.SortFields) ? "p.SysNo ASC" : queryFilter.SortFields)) { //Set SQL WHERE Condition: #region Build Condition: if (!string.IsNullOrEmpty(queryFilter.SysNo)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "p.SysNo", DbType.Int32, "@SysNo", QueryConditionOperatorType.Equal, queryFilter.SysNo); } if (!string.IsNullOrEmpty(queryFilter.StartDateString)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "p.InDate", DbType.DateTime, "@InDateFrom", QueryConditionOperatorType.MoreThanOrEqual, Convert.ToDateTime(queryFilter.StartDateString)); } if (!string.IsNullOrEmpty(queryFilter.EndDateString)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "p.InDate", DbType.DateTime, "@InDateTo", QueryConditionOperatorType.LessThan, Convert.ToDateTime(queryFilter.EndDateString).AddDays(1)); } if (!string.IsNullOrEmpty(queryFilter.Status)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "p.Status", DbType.StringFixedLength, "@Status", QueryConditionOperatorType.Equal, queryFilter.Status); } #endregion command.CommandText = sqlBuilder.BuildQuerySql(); List <ProductInfo> resultList = command.ExecuteEntityList <ProductInfo>(); int totalCount = Convert.ToInt32(command.GetParameterValue("@TotalCount")); return(new QueryResult <ProductInfo>() { PageInfo = new PageInfo() { PageIndex = queryFilter.PageIndex, PageSize = queryFilter.PageSize, TotalCount = totalCount, SortBy = queryFilter.SortFields }, ResultList = resultList }); } }
public static QueryResult <ProductInfo> QueryProductList(ProductListQueryFilter queryFilter) { return(ProductDA.QueryProductList(queryFilter)); }