/// <summary> /// 添加信息 /// </summary> /// <param name="model"></param> /// <param name="count"></param> public static void AddProductInfo(int type, TB_Order_OrderDetails model, int count) { XmlDocument doc = new XmlDocument(); doc.Load(path); XmlNode xmlnode = doc.SelectSingleNode("TB_Products"); XmlElement xmlele = doc.CreateElement("ProInfo"); XmlElement ele0 = doc.CreateElement("type"); ele0.InnerText = type.ToStr(); xmlele.AppendChild(ele0); XmlElement ele1 = doc.CreateElement("id"); ele1.InnerText = model.ProductID.ToStr(); xmlele.AppendChild(ele1); XmlElement ele2 = doc.CreateElement("proNumber"); ele2.InnerText = model.ProNumber; xmlele.AppendChild(ele2); XmlElement ele7 = doc.CreateElement("name"); ele7.InnerText = model.ProName; xmlele.AppendChild(ele7); XmlElement ele6 = doc.CreateElement("img"); ele6.InnerText = model.Picture; xmlele.AppendChild(ele6); XmlElement ele8 = doc.CreateElement("marketPrice"); ele8.InnerText = model.Price.ToStr(); xmlele.AppendChild(ele8); XmlElement ele3 = doc.CreateElement("price"); ele3.InnerText = model.Price.ToStr(); xmlele.AppendChild(ele3); XmlElement ele4 = doc.CreateElement("count"); ele4.InnerText = count.ToStr(); xmlele.AppendChild(ele4); XmlElement ele5 = doc.CreateElement("amount"); ele5.InnerText = (model.Price * count).ToStr(); xmlele.AppendChild(ele5); xmlnode.AppendChild(xmlele); doc.Save(path); }
/// <summary> /// 添加购物车 /// </summary> /// <param name="type">商品类型,0为普通商品,1为团购商品</param> /// <param name="proId">商品编号</param> /// <param name="count">商品数量</param> /// <returns></returns> public static bool AddCart(int type, int proId, int count) { if (!File.Exists(path)) { CreateXMLFile(path); } decimal marketPrice = 0; //获取购物车里面的数据 TB_Order_OrderDetails model = new TB_Order_OrderDetails(); switch (type) { case 0: TB_Product_Products entity = ProductService.ProductsService.Get(proId); model.ProductID = entity.ID; model.ProNumber = entity.ProNumber; model.ProName = entity.ProName; model.Price = entity.SalesPrice; model.Picture = entity.ImgUrl; marketPrice = entity.MarketPrice; break; case 1: TB_Product_Group entity2 = ProductService.GroupService.Get(proId); model.ProductID = entity2.ID; model.ProName = entity2.GroupName; model.Price = entity2.Price; model.Picture = entity2.ImgUrl; break; } DataSet ds = new DataSet(); ds.ReadXml(path); if (ds.Tables.Count > 0) { DataTable dt = ds.Tables[0]; //当前商品是否存在 bool isExist = false; foreach (DataRow dr in dt.Rows) { if (dr["id"].ToInt() == proId && dr["type"].ToInt() == type) { isExist = true; dr["count"] = dr["count"].ToInt() + count; dr["amount"] = model.Price * dr["count"].ToInt(); } } //当不存在 if (isExist == false) { DataRow dr = dt.NewRow(); dr["type"] = type.ToStr(); dr["id"] = model.ProductID; dr["proNumber"] = model.ProNumber; dr["name"] = model.ProName; dr["img"] = model.Picture; dr["marketPrice"] = marketPrice; dr["count"] = count; dr["price"] = model.Price; dr["amount"] = model.Price * count; dt.Rows.Add(dr); } //保存到购物车 ds.WriteXml(path); } else { AddProductInfo(type, model, count); } return(true); }
//提交订单 protected void BtnSubmitOrder_Click(object sender, EventArgs e) { Random random = new Random(); gotoBack: string OrderNumber = DateTime.Now.ToString("yyyyMMddHHmmss") + random.Next(1000, 9999); List <Expression> express = new List <Expression>(); express.Add(new Expression("OrderNumber", "=", OrderNumber)); if (OrderService.OrdersService.Get(express).ID > 0) { goto gotoBack; } TB_Order_Orders order = new TB_Order_Orders(); order.OrderNumber = OrderNumber; order.OrderType = 0; order.OrderDate = DateTime.Now; order.OrderStateID = 0; int count = 0; decimal priceCount = 0; foreach (DataRow dr in Cart.GetCart().Tables[0].Rows) { count += dr["count"].ToInt(); priceCount += dr["count"].ToInt() * dr["price"].ToDecimal(); } order.ProCount = count; order.MemberID = MemberID; order.MoneySum = priceCount; //发票信息 order.IsInvoice = RadioBtnIsInvoice.SelectedValue.ToInt(); order.InvoiceType = RadioBtnInvoiceType.SelectedValue; order.InvoiceValue = RadioBtnInvoiceValue.SelectedValue; order.InvoiceLookUp = RadioButtonListInvoiceLookUp.SelectedValue; order.CompanyName = TbCompanyName.Text; order.Remark = TbRemark.Text; //收货人信息 TB_Order_Distribution distribution = new TB_Order_Distribution(); distribution.OrderNumber = OrderNumber; distribution.Address = Address.Text + TbAddress.Text; distribution.BuyerName = TbName.Text; distribution.CompanyName = TbCompanyName.Text; distribution.ConsignmentID = DDLConsigument.SelectedValue.ToInt(); distribution.PaymentID = RadioBtnPaymentList.SelectedValue.ToInt(); distribution.Phone = TbPhone.Text; distribution.PostalCode = TbPostedCode.Text; distribution.Mobile = TbMobile.Text; distribution.Email = TbEmail.Text; distribution.RepceiptDateType = DDLRepceiptDateType.SelectedValue; distribution.MentionDate = TbMentionDate.Text; TB_Member_BuyerInfo buyerInfo = new TB_Member_BuyerInfo(); buyerInfo.MemberID = MemberID; buyerInfo.Zone = Address.Value + "|" + Address.Text; buyerInfo.Address = TbAddress.Text; buyerInfo.BuyerName = TbName.Text; buyerInfo.Phone = TbPhone.Text; buyerInfo.PostalCode = TbPostedCode.Text; buyerInfo.Mobile = TbMobile.Text; buyerInfo.Email = TbEmail.Text; if (OrderService.OrdersService.Insert(order) == 1) { OrderService.DistributionService.Insert(distribution); DataSet ds = Cart.GetCart(); foreach (DataRow dr in ds.Tables[0].Rows) { TB_Order_OrderDetails details = new TB_Order_OrderDetails(); details.OrderNumber = OrderNumber; details.Type = dr["type"].ToInt(); details.ProductID = dr["id"].ToInt(); details.ProName = dr["name"].ToStr(); details.ProNumber = dr["proNumber"].ToStr(); details.Count = dr["count"].ToInt(); details.Price = dr["price"].ToDecimal(); details.Picture = dr["img"].ToStr(); details.Total = dr["price"].ToDecimal() * dr["count"].ToInt(); OrderService.OrderDetailsService.Insert(details); } MemberService.BuyerInfoService.Insert(buyerInfo); Cart.ClearCart(); Response.Redirect("ShoppingCart3.aspx?OrderNumber=" + OrderNumber); } }