Exemple #1
0
        /// <summary>
        /// [main]
        /// </summary>
        public PageSetting SelPage(int cpage, int psize, Filter_Product filter)
        {
            string where = "1=1 ";
            List <SqlParameter> sp = new List <SqlParameter>();

            if (filter.NodeID > 0)
            {
                string nids = new B_Node().GetChilds(filter.NodeID);
                //where += " AND (A.NodeID=" + filter.NodeID + " OR A.FirstNodeID=" + filter.NodeID + ")";
                where += " AND A.NodeID IN (" + nids + ")";
            }
            if (!string.IsNullOrEmpty(filter.NodeIDS))
            {
                SafeSC.CheckIDSEx(filter.NodeIDS); where += " AND A.NodeID IN (" + filter.NodeIDS + ")";
            }
            //组合|单品
            if (filter.pclass != -100)
            {
                where += "AND [Class]=" + filter.pclass;
            }
            //商品分类
            if (!string.IsNullOrEmpty(filter.proclass))
            {
                SafeSC.CheckIDSEx(filter.proclass); where += " AND A.ProClass IN (" + filter.proclass + ")";
            }
            if (filter.hasRecycle != -100)
            {
                where += " AND Recycler=" + filter.hasRecycle;
            }
            if (filter.istrue != -100)
            {
                where += " AND IsTrue=" + filter.istrue;
            }
            if (filter.issale != -100)
            {
                where += " AND Sales=" + filter.issale;
            }
            //搜索,支持指定条件
            //if (!string.IsNullOrEmpty(filter.skey))
            //{
            //    if (string.IsNullOrEmpty(filter.stype)) { filter.stype = "proname"; }
            //    sp.Add(new SqlParameter("skey", "%" + filter.skey + "%"));
            //    int sid = DataConverter.CLng(filter.skey);
            //    switch (filter.stype.ToLower())
            //    {
            //        case "id": where += " AND A.ID=" + sid; break;
            //        case "proname": where += " AND A.Proname LIKE @skey"; break;
            //        case "id_proname": where += " AND (A.ID=" + sid + " OR A.ProName LIKE @skey)"; break;
            //        case "adduser": where += " AND A.AddUser LIKE @skey"; break;
            //        case "storeid": filter.storeid = sid; break;
            //    }
            //}
            if (!string.IsNullOrEmpty(filter.proname))
            {
                sp.Add(new SqlParameter("proname", "%" + filter.proname + "%"));
                where += " AND A.Proname LIKE @proname";
            }
            if (!string.IsNullOrEmpty(filter.adduser))
            {
                sp.Add(new SqlParameter("adduser", "%" + filter.adduser + "%"));
                where += " AND A.AddUser LIKE @adduser";
            }
            if (filter.special > 0)
            {
                where += " AND SpecialID LIKE '%," + filter.special + ",%'";
            }
            //快速筛选
            where += GetWhereByType(filter.type);
            if (filter.storeid == 0)
            {
                where += " AND (A.UserShopID=0 OR A.UserShopID IS NULL)";
            }                                                                                      //仅商城
            else if (filter.storeid > 0)
            {
                where += " AND A.UserShopID=" + filter.storeid;
            }                                                                               //指定店铺
            else if (filter.storeid == -1)
            {
                where += " AND A.UserShopID>0";
            }                                                                 //仅店铺
            else if (filter.storeid == -100)
            {
            }                                   //全部
            string      orderBy = StrHelper.SQL_OrderBy(filter.orderBy, "id,linprice", "A.OrderId DESC,A.ID DESC");
            PageSetting setting = new PageSetting()
            {
                cpage  = cpage,
                psize  = psize,
                fields = "A.*,B.NodeName,(SELECT Title FROM ZL_CommonModel WHERE GeneralID=A.UserShopID) StoreName",
                t1     = TbName,
                t2     = "ZL_Node",
                on     = "A.NodeID=B.NodeID",
                where  = where,
                order  = orderBy,
                spList = sp
            };

            DBCenter.SelPage(setting);
            return(setting);
        }
Exemple #2
0
 public DataTable GetProductAll(Filter_Product filter)
 {
     return(SelPage(1, int.MaxValue, filter).dt);
 }