public ActionResult GetList(MGoodInfoSearch search) { var bll = new BGoodInfo(); var pageSize = 20; var pageIndex = Request.GetQ("p").GetInt(0, false); long dataCount = 0; int pageCount = 0; var datas = bll.GetList(pageSize, pageIndex, out dataCount, search, new OrderBy { IsAsc=false, Name = "AddDateTime" },new OrderBy { IsAsc=false, Name = "IsHot" }); pageCount = (dataCount.GetInt(0,false) + pageSize - 1) / pageSize; return Json(new { pageIndex=pageIndex, pageCount=pageCount, datas = bll.GetShowDatas(datas) ?? new List<object>() }, JsonRequestBehavior.AllowGet); }
/// <summary> /// 获取查询语句 /// </summary> /// <param name="search"></param> /// <param name="parames"></param> /// <param name="isNeedAnd"></param> /// <returns></returns> public string GetWhere(MGoodInfoSearch search, ref List<SqlParameter> parames, bool isNeedAnd = false) { StringBuilder whereSql = new StringBuilder(); if (search == null) return whereSql.ToString(); if (!search.Title.IsNullOrWhiteSpace()) { if (isNeedAnd) whereSql.Append(" AND "); whereSql.Append("Title LIKE '%'+@Title+'%'"); parames.Add(new SqlParameter("@Title", search.Title) { DbType = DbType.String }); if (!isNeedAnd) isNeedAnd = true; } if (search.SourceMall.HasValue && search.SourceMall.Value.GetInt(0,false)>0) { if (isNeedAnd) whereSql.Append(" AND "); whereSql.Append("SourceMall=@SourceMall"); parames.Add(new SqlParameter("@SourceMall", search.SourceMall) { DbType = DbType.Int32 }); if (!isNeedAnd) isNeedAnd = true; } if (search.Type.HasValue && search.Type.Value.GetInt(0, false) > 0) { if (isNeedAnd) whereSql.Append(" AND "); whereSql.Append("Type=@Type"); parames.Add(new SqlParameter("@Type", search.Type) { DbType = DbType.Int32 }); if (!isNeedAnd) isNeedAnd = true; } if (search.IsHot>=0) { if (isNeedAnd) whereSql.Append(" AND "); whereSql.Append("ISNULL(IsHot,0)=@IsHot"); parames.Add(new SqlParameter("@IsHot", search.IsHot) { DbType = DbType.Boolean }); if (!isNeedAnd) isNeedAnd = true; } return whereSql.ToString(); }
/// <summary> /// 获取商品对象集合 /// </summary> /// <param name="search"></param> /// <param name="orderBySql"></param> /// <returns></returns> public List<MGoodInfo> GetList(MGoodInfoSearch search, params OrderBy[] orderBySql) { List<SqlParameter> parames = new List<SqlParameter>(); string where = GetWhere(search, ref parames); StringBuilder order = new StringBuilder(); if (orderBySql != null && orderBySql.Count() > 0) { var isNeedAnd=false; foreach (var item in orderBySql) { if(isNeedAnd)order.Append(","); order.Append(item.ToSql(item.IsAsc)); if(!isNeedAnd)isNeedAnd=true; } } var sqlStr = @" SELECT {0} FROM GoodInfo {1} {2} ".FormatStr( _Field, where.IsNullOrWhiteSpace() ? "" : "WHERE {0} ".FormatStr(where), order.ToString().IsNullOrWhiteSpace() ? "" : "ORDER BY {0} ".FormatStr(order.ToString()) ); return _DB.ExecuteFillDataSet(sqlStr,parames.ToArray()).GetModels<MGoodInfo>(); }
/// <summary> /// 获取数据集合 /// </summary> /// <param name="pageSize"></param> /// <param name="pageIndex"></param> /// <param name="dataCount"></param> /// <param name="selectColumns"></param> /// <param name="orderBySql"></param> /// <returns></returns> public List<MGoodInfo> GetList(int pageSize, int pageIndex,out long dataCount, MGoodInfoSearch search,params OrderBy[] orderBySql) { List<SqlParameter> parames=new List<SqlParameter>(); string where= GetWhere(search, ref parames); dataCount=0; var page = new SQLSuperPager("GoodInfo","", "Id", "",where); dataCount = _DB.ExecuteScalar(page.GetCountSQL(), parames.ToArray()).GetLong(0, false); return _DB.ExecuteFillDataSet(page.GetPagerSql(pageSize, pageIndex, dataCount, "*", orderBySql) , parames.ToArray()).GetModels<MGoodInfo>(); }
/// <summary> /// 获取商品对象集合 /// </summary> /// <param name="search"></param> /// <param name="orderBySql"></param> /// <returns></returns> public List<MGoodInfo> GetList(MGoodInfoSearch search, params OrderBy[] orderBySql) { return _dal.GetList(search, orderBySql); }
/// <summary> /// 获取数据集合 /// </summary> /// <param name="pageSize"></param> /// <param name="pageIndex"></param> /// <param name="dataCount"></param> /// <param name="selectColumns"></param> /// <param name="orderBySql"></param> /// <returns></returns> public List<MGoodInfo> GetList(int pageSize, int pageIndex, out long dataCount, MGoodInfoSearch search, params OrderBy[] orderBySql) { return _dal.GetList(pageSize, pageIndex, out dataCount, search, orderBySql); }