示例#1
0
        private void get_good_list(HttpContext context)
        {
            int page = DTRequest.GetQueryInt("page", 1);
            string flag = DTRequest.GetQueryString("flag");
            int pagesize = DTRequest.GetQueryInt("pagesize", 12);
            string order = DTRequest.GetQueryString("order");
            string keyword = DTRequest.GetQueryString("keyword");
            int category = DTRequest.GetQueryInt("category");
            string property = DTRequest.GetQueryString("property");

            string strwhere = " is_put=1 ";
            string strorder = "sort_id asc ,add_time desc";
            int totalcount = 0;

            DataSet ds = new DataSet();

            if (!string.IsNullOrEmpty(property))
            {
                //strwhere += " and id in ( select good_id from td_property_good where property_value_id in (" + property + ")) ";
                string where_pro = "";
                string[] str_arr = property.Split(',');
                for (int i = 0; i < str_arr.Length; i++)
                {
                    if (i == 0)
                    {
                        where_pro += " select good_id from td_property_good where property_value_id in(" + str_arr[i] + ") ";
                    }
                    else
                    {
                        where_pro = "select good_id from td_property_good where good_id in (" + where_pro + ") and   property_value_id=" + str_arr[i];
                    }
                }

                strwhere += " and id in (" + where_pro + ")";
            }

            if (!string.IsNullOrEmpty(keyword))
            {
                strwhere += " and (id in (select good_id from td_property_good where property_value_id in ( select id from td_property_value where value like '%" + keyword + "%')) or id in (select good_id from td_tag_good where tag_id in( select id from td_tag where title like '%" + keyword + "%')) or id in (select good_id from td_alias_good where alias_id in( select id from td_alias where title like '%" + keyword + "%'))or title like '%" + keyword + "%') ";
            }

            if (order == "moneya")
            {
                strorder = "sell_price asc";
            }
            if (order == "moneyd")
            {
                strorder = "sell_price desc";
            }

            BLL.article bll = new BLL.article();
            DataTable dt = bll.GetList("goods", category, pagesize, page, strwhere, strorder, out totalcount).Tables[0];

            DataTable dt_goods = new DataTable();
            dt_goods.Columns.Add("id");
            dt_goods.Columns.Add("title");
            dt_goods.Columns.Add("sell_price");
            dt_goods.Columns.Add("img_url");
            dt_goods.Columns.Add("standard");

            foreach (DataRow dr in dt.Rows)
            {
                DataRow new_dr = dt_goods.NewRow();
                new_dr["id"] = dr["id"];
                new_dr["title"] = dr["title"];
                new_dr["sell_price"] = dr["sell_price"];
                new_dr["img_url"] = dr["img_url"];

                BLL.standard_price bll_standard_price = new BLL.standard_price();
                DataTable dt_standard_price = bll_standard_price.GetList("good_id=" + Convert.ToInt32(dr["id"])).Tables[0];
                if (dt_standard_price != null && dt_standard_price.Rows.Count > 0)
                {
                    //有库存
                    new_dr["standard"] = 1;
                }
                else
                {
                    //没库存
                    new_dr["standard"] = 2;
                }

                dt_goods.Rows.Add(new_dr);
            }

            dt_goods.TableName = "dt_good";
            if (dt_goods != null && dt_goods.Rows.Count > 0)
            {
                ds.Tables.Add(dt_goods.Copy());
            }
            //刷新属性列表  单个类别绑定属性
            if (flag == "default" || flag == "self_category" || flag == "self")
            {
                DataTable dt_property = new DataTable();
                dt_property.Columns.Add("id");
                dt_property.Columns.Add("title");
                dt_property.Columns.Add("parent_id");

                dt_property.TableName = "dt_property";

                BLL.property bll_property = new BLL.property();
                DataTable old_dt_property = bll_property.GetList(0, "category_id in (select id from dt_article_category where class_list like '%," + category + ",%')", "add_time desc").Tables[0];
                foreach (DataRow dr in old_dt_property.Rows)
                {
                    DataRow new_dr = dt_property.NewRow();
                    new_dr["id"] = 0;
                    new_dr["title"] = dr["title"];
                    new_dr["parent_id"] = 0;

                    dt_property.Rows.Add(new_dr);
                    BLL.property_value bll_value = new BLL.property_value();
                    DataTable dt_property_value = bll_value.GetList(0, "property_id=" + dr["id"].ToString(), "add_time desc").Tables[0];
                    foreach (DataRow dr_value in dt_property_value.Rows)
                    {
                        DataRow new_dr_value = dt_property.NewRow();
                        new_dr_value["id"] = dr_value["id"];
                        new_dr_value["title"] = dr_value["value"];
                        new_dr_value["parent_id"] = dr["id"];
                        dt_property.Rows.Add(new_dr_value);
                    }
                }

                if (dt_property != null && dt_property.Rows.Count > 0)
                {
                    ds.Tables.Add(dt_property.Copy());
                }
            }
            //多个类别绑定属性
            if (flag == "other")
            {

                DataTable dt_good = bll.GetList(0, " id in (select good_id from td_property_good where property_value_id in ( select id from td_property_value where value like '%" + keyword + "%')) or id in (select good_id from td_tag_good where tag_id in( select id from td_tag where title like '%" + keyword + "%')) or id in (select good_id from td_alias_good where alias_id in( select id from td_alias where title like '%" + keyword + "%'))or title like '%" + keyword + "%' ", "sort_id asc,add_time desc").Tables[0];

                DataTable dt_category = new DataTable();
                dt_category.Columns.Add("id");
                dt_category.Columns.Add("title");
                BLL.article_category bll_category = new BLL.article_category();
                Model.article_category model_category;
                string category_ids = ",";
                foreach (DataRow dr in dt_good.Rows)
                {
                    if (category_ids.IndexOf("," + dr["category_id"].ToString() + ",") <= -1)
                    {
                        category_ids += dr["category_id"].ToString() + ",";
                        model_category = bll_category.GetModel(Convert.ToInt32(dr["category_id"]));
                        if (model_category != null)
                        {
                            DataRow new_dr = dt_category.NewRow();
                            new_dr["id"] = model_category.id;
                            new_dr["title"] = model_category.title;
                            dt_category.Rows.Add(new_dr);
                        }
                    }
                }
                if (dt_category != null && dt_category.Rows.Count > 0)
                {
                    dt_category.TableName = "dt_category";
                    ds.Tables.Add(dt_category.Copy());
                }

                if (!string.IsNullOrEmpty(category_ids.Trim(',')))
                {
                    DataTable dt_property = new DataTable();
                    dt_property.Columns.Add("id");
                    dt_property.Columns.Add("title");
                    dt_property.Columns.Add("parent_id");

                    dt_property.TableName = "dt_property";

                    BLL.property bll_property = new BLL.property();
                    DataTable old_dt_property = bll_property.GetList(0, "category_id in (" + category_ids.Substring(1, category_ids.Length - 2) + ")", "add_time desc").Tables[0];

                    foreach (DataRow dr in old_dt_property.Rows)
                    {
                        DataRow new_dr = dt_property.NewRow();
                        new_dr["id"] = 0;
                        new_dr["title"] = dr["title"];
                        new_dr["parent_id"] = 0;

                        dt_property.Rows.Add(new_dr);
                        BLL.property_value bll_value = new BLL.property_value();
                        DataTable dt_property_value = bll_value.GetList(0, "property_id=" + dr["id"].ToString(), "add_time desc").Tables[0];
                        foreach (DataRow dr_value in dt_property_value.Rows)
                        {
                            DataRow new_dr_value = dt_property.NewRow();
                            new_dr_value["id"] = dr_value["id"];
                            new_dr_value["title"] = dr_value["value"];
                            new_dr_value["parent_id"] = dr["id"];
                            dt_property.Rows.Add(new_dr_value);
                        }
                    }

                    if (dt_property != null && dt_property.Rows.Count > 0)
                    {
                        ds.Tables.Add(dt_property.Copy());
                    }

                }
            }

            DataTable dt_page = new DataTable();
            dt_page.Columns.Add("page");
            dt_page.TableName = "dt_page";
            BasePage _basepage = new BasePage();//(page, pagesize, category, property, order, keyword, flag)
            DataRow dr_page = dt_page.NewRow();
            dr_page["page"] = myJson.String2Json(_basepage.get_page_links(pagesize, page, totalcount, "javascript:get_good_list(__id__,12,'" + category + "','" + property + "','" + order + "','" + keyword + "','" + flag + "')"));
            dt_page.Rows.Add(dr_page);

            if (dt_page != null && dt_page.Rows.Count > 0)
            {
                ds.Tables.Add(dt_page);
            }

            if (ds != null && ds.Tables.Count > 0)
            {
                context.Response.Write(myJson.getJson(ds));
                return;
            }
            else
            {
                context.Response.Write("Null");
                return;
            }
        }
示例#2
0
        private void get_productdate_page(HttpContext context)
        {
            try
            {

                int category = DTRequest.GetFormInt("category", 0);
                string keyword = DTRequest.GetFormString("keyword");
                int propty = DTRequest.GetFormInt("propty", 0);
                int page = DTRequest.GetFormInt("page", 1);
                int pagesize = DTRequest.GetFormInt("pagesize", 8);

                string _orderby = "sort_id asc,add_time desc";
                int _recordCount = 0;
                string pagelist = "";
                BLL.article bll = new BLL.article();

                string sqlwhere = "";

                if (keyword != "" && keyword.Length > 0 && DTcms.Common.Utils.IsSafeSqlString(keyword))
                {
                    sqlwhere = " id in (select good_id from td_property_good where property_value_id in ( select id from td_property_value where value like '%"+keyword+"%')) or id in (select good_id from td_tag_good where tag_id in( select id from td_tag where title like '%"+keyword+"%')) or id in (select good_id from td_alias_good where alias_id in( select id from td_alias where title like '%"+keyword+"%'))or title like '%"+keyword+"%'";
                    if (propty > 0)//属性筛选
                    {
                        sqlwhere += " and id in (select distinct good_id from dbo.td_property_good where property_value_id in(" + propty + "))";

                    }
                }
                else
                {
                    if (propty > 0)//属性筛选
                    {
                        sqlwhere = "id in (select distinct good_id from dbo.td_property_good where property_value_id in(" + propty + "))";
                        if (keyword != "" && keyword.Length > 0 && DTcms.Common.Utils.IsSafeSqlString(keyword))
                        {
                            sqlwhere += " and id in select good_id from td_property_good where property_value_id in ( select id from td_property_value where value like '%" + keyword + "%'))orid in (select good_id from td_tag_good where tag_id in( select id from td_tag where title like '%" + keyword + "%'))or id in (select good_id from td_alias_good where alias_id in( select id from td_alias where title like '%" + keyword + "%'))or title like '%" + keyword + "%'";
                        }
                    }
                }

                //DataSet ds = bll.get_article_list(,pagesize, page, "*", _where + "and attr1='1' and id in", _orderby, out _recordCount);
                DataSet ds = bll.GetList("goods", category, pagesize, page, sqlwhere, _orderby, out _recordCount);
                DataTable dt = ds.Tables[0];
                BasePage _basepage = new BasePage();
                if (keyword.Length<=0)
                {
                    pagelist = _basepage.get_page_links(pagesize, page, _recordCount, "javascript:getpagedata(''," + propty + "," + category + ",__id__);");
                }
                else
                {
                    pagelist = _basepage.get_page_links(pagesize, page, _recordCount, "javascript:getpagedata(" + keyword + "," + propty + "," + category + ",__id__);");
                }

                StringBuilder strhtml = new StringBuilder();

                foreach (DataRow dr in dt.Rows)
                {

                    strhtml.Append("<li>");

                    strhtml.Append("<div class=\"Procurement_list_li_top\">");
                    strhtml.Append("<input type=\"checkbox\" class=\"select_buy\" name=\"computer\" /></div>");

                    strhtml.Append("<div class=\"img_describe\">");
                    strhtml.Append("<a href=\"/good_show.aspx?id="+dr["id"].ToString()+"\"><img  src=\"" + dr["img_url"].ToString() + "\" width=\"235\" height=\"229\" />");
                    strhtml.Append("" + dr["title"] + "&nbsp;" + get_category_title(int.Parse(dr["category_id"].ToString()), "") + "&nbsp;红色 </a> </div>");

                    strhtml.Append("<span><strong>¥" + dr["sell_price"] + "</strong></span>");
                    strhtml.Append("<div class=\"Procurement_list_li_bottom\">");
                    strhtml.Append("<img class=\"reduce_btn\" src=\"../../../../templates/ql/images/reduce.jpg\" width=\"14\" height=\"14\" />");
                    strhtml.Append("<input type=\"text\" id=\"inputCount\" value=\"1\" name=\"\" />");
                    strhtml.Append("<img class=\"add_btn\" src=\"../../../../templates/ql/images/add.jpg\" width=\"14\" height=\"14\" /><a href=\"/good_show.aspx?id="+dr["id"].ToString()+"\" class=\"enter_shoppingcar\">进购物车</a>");
                    strhtml.Append("<a href=\"javascript:;\" onclick=\"Submit4('" + dr["id"].ToString() + "')\">收藏</a></div>");

                    strhtml.Append("</li>");

                }
                context.Response.Write("{ \"info\":\"获取数据成功!\", \"status\":\"1\" ,\"html\":\"" + myJson.String2Json(strhtml.ToString()) + "\",\"pagelist\":\"" + myJson.String2Json(pagelist) + "\"}");
                return;
            }
            catch (Exception ex)
            {
                context.Response.Write("{ \"info\":\"获取数据失败!\", \"status\":\"0\" }");
                return;
            }
        }