Exemple #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        type   = Com.Util.getStringByObject(Request["type"]);
        action = Com.Util.getStringByObject(Request["action"]);

        if (CurInfo.CurUser != null)
        {
            drUser = Factory.getUserBllInstance().getDrUserByID(CurInfo.CurUser.ID);

            user = CurInfo.CurUser;

            //初始化购物车
            if (cart.Values.Count > 0)
            {
                Bs_Products product = null;
                foreach (BLL.ShoppingCart.Product pro in cart.Values.Values)
                {
                    product = Factory.getProBllInstance().getProById(pro.ProId);
                    //获取总价钱

                    sum += pro.Price * pro.Qty;


                    //获取产品信息
                }
                sumMoney = sum;
            }
        }
    }
Exemple #2
0
    /// <summary>
    /// 获取特卖商品
    /// </summary>
    /// <param name="size">显示数</param>
    /// <returns></returns>
    public DataTable getProlistIsPromote(string kindcode, int size)
    {
        Bs_Products filter = new Bs_Products();

        filter.BS_ProKindCode = kindcode;
        filter.isPromote      = 1;
        return(dao.getProList(filter, size));
    }
Exemple #3
0
    /// <summary>
    /// 获取商品列表
    /// </summary>
    /// <param name="filter">过滤</param>
    /// <param name="pageIndex">当前页</param>
    /// <param name="pageSize">显示数</param>
    /// <param name="recordCound">记录数</param>
    /// <returns></returns>
    public DataTable getProList(Bs_Products filter, int pageIndex, int pageSize, out int recordCound)
    {
        string strSql = "select * from bs_products pro where 1= 1 " + getSqlWhere(filter);


        DataTable dt = CSA.DAL.DBAccess.getRS(strSql);

        recordCound = dt.Rows.Count;
        return(CSA.DAL.PageHelper.getPage(dt, pageSize, pageIndex));
    }
Exemple #4
0
    /// <summary>
    /// 获取商品
    /// </summary>
    /// <param name="pro_name">商品Code</param>
    /// <returns></returns>
    public Bs_Products getProByCode(string pro_code)
    {
        DataTable   dt  = dao.getProByCode(pro_code);
        Bs_Products pro = new Bs_Products();

        if (dt.Rows.Count > 0)
        {
            Com.Util.ConvertToEntity(pro, dt.Rows[0]);
        }
        return(pro);
    }
Exemple #5
0
    /// <summary>
    /// 获取商品
    /// </summary>
    /// <param name="proId"></param>
    /// <returns></returns>
    public Bs_Products getProById(int proId)
    {
        DataTable   dt  = dao.getProById(proId);
        Bs_Products pro = new Bs_Products();

        if (dt.Rows.Count > 0)
        {
            Com.Util.ConvertToEntity(pro, dt.Rows[0]);
        }
        return(pro);
    }
Exemple #6
0
    /// <summary>
    /// 获取商品列表
    /// </summary>
    /// <param name="strWhere">条件</param>
    /// <param name="size">显示数目</param>
    /// <returns></returns>
    public DataTable getProList(Bs_Products filter, int size)
    {
        string strTop = "";

        if (size > 0)
        {
            strTop = " top " + size;
        }
        string strSql = string.Format("select {0} * from bs_products pro where pro.status = 0  {1} order by addtime desc ", strTop, getSqlWhere(filter));

        return(CSA.DAL.DBAccess.getRS(strSql));
    }
Exemple #7
0
    /// <summary>
    /// 新增订单
    /// </summary>
    /// <param name="order"></param>
    /// <param name="cart"></param>
    /// <param name="proCode"></param>
    /// <param name="pay"></param>
    /// <param name="userId"></param>
    public void addOrder(Bs_Orders order, Cart cart, ref string proCode, ref decimal pay, int userId)
    {
        decimal deliverPay = 0;

        DataTable dtDeliver = dao.getDeliverByCode(order.Sy_DeliverCode);

        if (dtDeliver.Rows.Count > 0)
        {
            deliverPay       = decimal.Parse(dtDeliver.Rows[0]["amount"].ToString());
            order.DeliverFee = deliverPay;
        }
        Random rd        = new Random();
        string orderCode = DateTime.Now.ToString("yyMMddHHmmssff") + rd.Next(1000, 9999).ToString();

        order.Code = orderCode;
        // order.Discount = BLL.BsUser.User.GetDisCount();
        decimal Amount = 0;
        int     qty    = 0;

        foreach (Product cartPro in cart.Values.Values)
        {
            Bs_Products  pro      = Factory.getProBllInstance().getProById(cartPro.ProId);
            Bs_OrdersDtl orderDtl = new Bs_OrdersDtl();
            orderDtl.Bs_OrdersCode   = orderCode;
            orderDtl.Price           = decimal.Parse(cartPro.Price.ToString());
            orderDtl.Quantity        = cartPro.Qty;
            orderDtl.Bs_ProductsCode = pro.ID.ToString();
            orderDtl.Amount          = (decimal)(cartPro.Price * cartPro.Qty);
            orderDtl.Color           = cartPro.Color;
            orderDtl.Width           = cartPro.Width;
            orderDtl.Dimension       = cartPro.Size;
            dao.addOrderDtl(orderDtl);
            qty    += cartPro.Qty;
            Amount += (decimal)orderDtl.Amount;
        }
        order.DeliverFee = (decimal)deliverPay;
        order.ProductFee = Amount;

        Amount         += (decimal)deliverPay;
        pay             = Amount;
        order.Bs_UserID = userId;
        order.Quantity  = qty;
        order.Amount    = pay;
        order.ModTime   = DateTime.Now.ToString("s");
        order.AddTime   = DateTime.Now.ToString("s");
        order.Status    = Const.orderState_new;
        proCode         = order.Code;
        dao.addOrder(order);
    }
Exemple #8
0
    private string getSqltbWhere(Bs_Products filter, string tbl)
    {
        StringBuilder strb = new StringBuilder();

        if (!string.IsNullOrEmpty(filter.Bs_BrandCode))
        {
            strb.Append(string.Format(" and bra.code like '{1}%' ", tbl, filter.Bs_BrandCode));
        }
        if (!string.IsNullOrEmpty(filter.BS_ProKindCode))
        {
            strb.Append(string.Format(" and {0}.BS_ProKindCode like '{1}%' ", tbl, filter.BS_ProKindCode));
        }
        if (filter.Status != null)
        {
            strb.Append(string.Format(" and {0}.Status = {1} ", tbl, filter.Status));
        }
        return(strb.ToString());
    }
Exemple #9
0
    private string getSqlWhere(Bs_Products filter)
    {
        string        strSubSql = "";
        StringBuilder strb      = new StringBuilder();

        if (!string.IsNullOrEmpty(filter.Bs_BrandCode))
        {
            strb.Append(string.Format(" and Bs_BrandCode like '{0}%' ", filter.Bs_BrandCode));
        }
        if (!string.IsNullOrEmpty(filter.BS_ProKindCode))
        {
            strb.Append(string.Format(" and BS_ProKindCode like '{0}%' ", filter.BS_ProKindCode));
        }
        if (!string.IsNullOrEmpty(filter.Name))
        {
            strb.Append(string.Format(" and Name like '%{0}%' ", filter.Name));
        }
        if (filter.keywords != null)
        {
            strb.Append(string.Format("and (Name like '%{0}%' or code like '%{0}%'  )", filter.keywords));
        }

        if (filter.Status != null)
        {
            strb.Append(string.Format(" and Status = {0} ", filter.Status));
        }


        if (!string.IsNullOrEmpty(filter.Color))
        {
            strSubSql = string.Format("select p.id from bs_products p " +
                                      "inner join Bs_Pro_m2m_Bs_ProColor pc on pc.pro_id = p.id " +
                                      "where pc.prop_color_id in ({0}) " +
                                      "group by p.id ", filter.Color);
            strb.Append(string.Format(" and pro.id in ({0}) ", strSubSql));
        }
        if (filter.isHotSales == 1)
        {
            strb.Append(string.Format(" and pro.isHotSales  = {0} ", filter.isHotSales));
        }

        if (filter.isNew == 1)
        {
            strb.Append(string.Format(" and pro.isNew = {0} ", filter.isNew));
        }

        if (filter.isCommend == 1)
        {
            strb.Append(string.Format(" and pro.isCommend = {0} ", filter.isCommend));
        }

        if (filter.isIndex == 1)
        {
            strb.Append(string.Format(" and pro.isIndex = {0} ", filter.isIndex));
        }

        if (filter.isPromote == 1)
        {
            strb.Append(string.Format(" and pro.isPromote = {0} ", filter.isPromote));
        }


        if (filter.isSoldOut == 1)
        {
            strb.Append(string.Format(" and pro.isSoldOut = {0} ", filter.isSoldOut));
        }
        if (!string.IsNullOrEmpty(filter.orderby))
        {
            if (filter.orderby == "price_up")
            {
                strb.Append(" order by Price");
            }

            if (filter.orderby == "price_down")
            {
                strb.Append("order by Price desc");
            }
            if (filter.orderby == "time_down")
            {
                strb.Append(" order by Addtime desc");
            }
        }
        else
        {
            strb.Append(" order by sale desc");
        }

        return(strb.ToString());
    }
Exemple #10
0
    /// <summary>
    /// 获取当前商品品牌
    /// </summary>
    /// <param name="filter"></param>
    /// <returns></returns>
    public string getBandlist(Bs_Products filter)
    {
        string strsql = "select  distinct bra.code,bra.name  from bs_Products pro inner join Bs_brand bra on pro.Bs_BrandCode=bra.code where 1=1 " + getSqltbWhere(filter, "pro");;

        return(strsql);
    }
Exemple #11
0
    ///<summary>
    ///获取当前商品品牌
    ///</summary>
    ///<param name="filter">过滤</param>
    ///<returns></returns>
    public DataTable getBandlist(Bs_Products filter)
    {
        string sql = dao.getBandlist(filter);

        return(CSA.DAL.DBAccess.getRS(sql));
    }
Exemple #12
0
 /// <summary>
 /// 获取商品列表
 /// </summary>
 /// <param name="filter">过滤</param>
 /// <param name="pageIndex">当前页</param>
 /// <param name="pageSize">显示数</param>
 /// <param name="recordCound">记录数</param>
 /// <returns></returns>
 public DataTable getProList(Bs_Products filter, int pageIndex, int pageSize, out int recordCound)
 {
     return(dao.getProList(filter, pageIndex, pageSize, out recordCound));
 }
Exemple #13
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Cart        cart    = Shopping.getCart();
        int         pid     = 0;
        int         qty     = 0;
        string      color   = "";
        string      size    = "";
        string      morepid = "";
        Bs_Products pro     = null;

        string  action  = Util.getStringByObject(Request["action"]);
        Product cartPro = new Product();

        switch (action)
        {
        case "add":
            if (CurInfo.CurUser != null)
            {
                pid = Util.getIntByObject(Request.Form["pid"]);
                qty = Util.getIntByObject(Request.Form["qty"]);

                size = "";
                pro  = Factory.getProBllInstance().getProById(pid);



                if (pro != null)
                {
                    if (cart.Values.Count > 0)
                    {
                        foreach (BLL.ShoppingCart.Product prooo in cart.Values.Values)
                        {
                            if (prooo.ProId == pid)
                            {
                                qty = qty + prooo.Qty;
                            }
                        }
                    }
                    decimal price;
                    if (pro.BS_ProKindCode == "01")
                    {
                        price = Convert.ToDecimal(pro.Price * Convert.ToDecimal(0.8));
                    }
                    else
                    {
                        price = Convert.ToDecimal(pro.Price);
                    }



                    int status = Convert.ToInt32(pro.pStatus);
                    cartPro = new Product(pro.ID, pro.Name, pro.Code, "product/" + pro.Pic.ToString().Split(',')[0], price, qty, status, color, size);
                    cart.Remove(pro.Code);
                    cart.Add(cartPro);
                    Shopping.saveCart(cart);
                    Response.Write("1");
                }
            }
            else
            {
                Response.Write("0");
            }
            //}
            //else
            //{
            //    Response.Write(Inventory);
            //}

            break;

        case "addmore":
            cart    = Shopping.getCart();
            morepid = Util.getStringByObject(Request.Form["pid"]);
            string mpid = Request.Form["mpid"];
            pro = Factory.getProBllInstance().getProById(Convert.ToInt32(mpid));
            decimal prices = Convert.ToDecimal(pro.Price);
            int     sta    = Convert.ToInt32(pro.pStatus);
            cartPro = new Product(pro.ID, pro.Name, pro.Code, "product/small/" + pro.Pic.ToString().Split(',')[0], prices, 1, sta, color, "1");
            cart.Remove(pro.Code);
            cart.Add(cartPro);
            Shopping.saveCart(cart);
            string[] strid = morepid.ToString().Split(',');
            if (strid.Length > 0)
            {
                for (int i = 0; i < strid.Length; i++)
                {
                    //根据ID获取组合产品信息
                    DataTable pack = CSA.DAL.DBAccess.getRS("select * from Bs_Package where id=" + strid[i]);

                    pro = Factory.getProBllInstance().getProById(Convert.ToInt32(pack.Rows[0]["Packageid"].ToString()));

                    Product cartProm = new Product();
                    //DataTable dtm = BLL.Product.Product.getProMoreById(pid);
                    int Inventorym = Convert.ToInt32(pro.Quantity);
                    if (1 <= Inventorym)
                    {
                        if (pro != null)
                        {
                            //if (cart.Values.Count > 0)
                            //{
                            //    foreach (BLL.ShoppingCart.Product prooo in cart.Values.Values)
                            //    {
                            //        if (prooo.ProId == pid)
                            //        {
                            //            qty = qty + prooo.Qty;
                            //        }
                            //    }
                            //}
                            decimal price  = Convert.ToDecimal(pack.Rows[0]["Packprice"]);
                            int     status = Convert.ToInt32(pro.pStatus);
                            cartPro = new Product(pro.ID, pro.Name, pro.Code, "product/" + pro.Pic.ToString().Split(',')[0], price, 1, status, color, size);
                            cart.Remove(pro.Code);
                            cart.Add(cartPro);
                            Shopping.saveCart(cart);
                        }
                    }
                }
                Response.Write("1");
            }
            break;

        case "edit":

            pid   = Util.getIntByObject(Request.Form["pid"]);
            qty   = Util.getIntByObject(Request.Form["qty"]);
            pro   = Factory.getProBllInstance().getProById(pid);
            color = Util.getStringByObject(Request.Form["color"]).ToString();
            //DataTable dt10 = BLL.Product.Product.getProById(pid);
            //int Inventory1 = int.Parse(dt10.Rows[0]["Quantity"].ToString());
            //if (qty <= Inventory1)
            //{
            if (pro != null)
            {
                if (cart.Exist(pro.Code))
                {
                    color = ((Product)cart.Values[pro.Code]).Color;
                    cart.Remove(pro.Code);
                    decimal price = Convert.ToDecimal(pro.Price);

                    int status = Convert.ToInt32(price);
                    cartPro = new Product(pro.ID, pro.Name, pro.Code, "product/" + pro.Pic.ToString().Split(',')[0], (decimal)(price), qty, status, color, size);
                    cart.Add(cartPro);
                    Shopping.saveCart(cart);
                    Response.Write("1");
                }
            }
            //}
            //else
            //{
            //    Response.Write(Inventory1);
            //}
            break;

        case "add1":
            string Cpid = Util.getStringByObject(Request["pid"]);
            Cpid = Cpid.Substring(0, Cpid.Length - 1);
            qty  = Util.getIntByObject(Request["qty"]);

            string[] prolist = Cpid.Split(',');
            int      ii      = 0;
            decimal  price22 = 0;
            foreach (string id in prolist)
            {
                int ppid = int.Parse(id);
                pro = Factory.getProBllInstance().getProById(ppid);
                Product cartPro1 = new Product();
                if (pro != null)
                {
                    if (ii == 0)
                    {
                        price22 = decimal.Parse(pro.Price.ToString());
                    }


                    cartPro1 = new Product(pro.ID, pro.Name, pro.Code, "product/" + pro.Pic.ToString().Split(',')[0], (decimal)(price22), qty, 1, color, size);
                    cart.Remove(pro.Code);
                    cart.Add(cartPro1);
                    Shopping.saveCart(cart);
                }
                ii++;
            }
            Response.Write("1");

            break;

        case "clear":
            Shopping.killCart();
            Response.Redirect("../shopcar.aspx");

            break;

        case "del":
            string proCode = Util.getStringByObject(Request.Form["pid"]);
            cart.Remove(proCode);
            Shopping.saveCart(cart);
            Response.Write("1");
            break;

        case "updateprice":
            decimal?amou = Factory.getOrderBllInstance().getOrderByCode(Request.Form["code"]).Amount;
            Response.Write(amou.ToString());
            break;
        }
    }