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; } } }
/// <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)); }
/// <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)); }
/// <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); }
/// <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); }
/// <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)); }
/// <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); }
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()); }
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()); }
/// <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); }
///<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)); }
/// <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)); }
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; } }