コード例 #1
0
        /// <summary>
        /// 后台商品信息分页
        /// </summary>
        /// <param name="goodsInfoQuery"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public PagingDataSet <GoodsInfo> GetPageGoodsInfo(GoodsInfoQuery goodsInfoQuery, int pageIndex, int pageSize)
        {
            int    totalCount = 0;
            int    totalPage  = 0;
            string whereSql   = string.Empty;
            string orderBy    = string.Empty;

            HandleOrderByEunm(goodsInfoQuery.GoodsInfoSortBy, out orderBy);
            object pars = new object();

            whereSql = HandleQueryBySqlable(goodsInfoQuery, out pars);
            return(GetPageListByCache <long>(pageIndex, pageSize, out totalCount, out totalPage, whereSql, pars, orderBy, i => i.Goodsid));
        }
コード例 #2
0
        /// <summary>
        /// 处理SQL
        /// </summary>
        /// <param name="goodsInfoQuery"></param>
        /// <param name="pars"></param>
        /// <returns></returns>
        private string HandleQueryBySqlable(GoodsInfoQuery goodsInfoQuery, out object pars)
        {
            Dictionary <string, object> paramsDictionary = new Dictionary <string, object>();
            var sqlTable = new Sqlable();

            sqlTable.Sql = new StringBuilder();

            sqlTable = sqlTable.Where("status = @Status");
            paramsDictionary.Add("Status", (int)goodsInfoQuery.GoodsInfoStatus);

            if (!string.IsNullOrWhiteSpace(goodsInfoQuery.Keynum))
            {
                sqlTable = sqlTable.Where("goodsid = @Goodsid");
                paramsDictionary.Add("Goodsid", long.Parse(goodsInfoQuery.Keynum));
            }
            if (!string.IsNullOrWhiteSpace(goodsInfoQuery.Keyword))
            {
                sqlTable = sqlTable.Where("goods_name LIKE @GoodsName");
                paramsDictionary.Add("GoodsName", $"%{goodsInfoQuery.Keyword}%");
            }

            if (goodsInfoQuery.GoodsPriceLowerLimit.HasValue)
            {
                sqlTable = sqlTable.Where("goods_price >= @GoodsPriceLowerLimit");
                paramsDictionary.Add("GoodsPriceLowerLimit", goodsInfoQuery.GoodsPriceLowerLimit);
            }
            if (goodsInfoQuery.GoodsPriceUpperLimit.HasValue)
            {
                sqlTable = sqlTable.Where("goods_price <= @GoodsPriceUpperLimit");
                paramsDictionary.Add("GoodsPriceUpperLimit", goodsInfoQuery.GoodsPriceUpperLimit);
            }

            if (goodsInfoQuery.BuyCountLowerLimit.HasValue)
            {
                sqlTable = sqlTable.Where("goods_price >= @GoodsPriceLowerLimit");
                paramsDictionary.Add("BuyCountLowerLimit", goodsInfoQuery.BuyCountLowerLimit);
            }
            if (goodsInfoQuery.BuyCountUpperLimit.HasValue)
            {
                sqlTable = sqlTable.Where("goods_price <= @GoodsPriceUpperLimit");
                paramsDictionary.Add("BuyCountUpperLimit", goodsInfoQuery.BuyCountUpperLimit);
            }

            pars = paramsDictionary;

            foreach (var item in sqlTable.Where)
            {
                sqlTable.Sql.Append(item);
            }
            return(sqlTable.Sql.ToString().TrimStart(" AND".ToCharArray()));
        }
コード例 #3
0
 /// <summary>
 /// 后台商品信息分页
 /// </summary>
 /// <param name="goodsInfoQuery"></param>
 /// <param name="pageIndex"></param>
 /// <param name="pageSize"></param>
 /// <returns></returns>
 public PagingDataSet <GoodsInfo> GetPageGoodsInfo(GoodsInfoQuery goodsInfoQuery, int pageIndex, int pageSize)
 {
     return(goodsInfoRepository.GetPageGoodsInfo(goodsInfoQuery, pageIndex, pageSize));
 }