public JsonResult AddPost(string orderstr) { AddForm form = JsonConvert.DeserializeObject <AddForm>(orderstr); var ri = new ResultInfo { State = 1 }; try { _thisBLL.Add(form); } catch (Exception e) { ri.State = 0; ri.Msg = e.Message; } return(Json(ri, JsonRequestBehavior.AllowGet)); }
public ActionResult Add(int payway) { // 先判断 各个session是否为空 if (System.Web.HttpContext.Current.Session["CartModelList"] == null || System.Web.HttpContext.Current.Session["Address"] == null || System.Web.HttpContext.Current.Session["TotalPrice"] == null) { // 如果为空 则返回超时提示 return(Json("Expired", JsonRequestBehavior.AllowGet)); } List <CartModel> cartList = System.Web.HttpContext.Current.Session["CartModelList"] as List <CartModel>; double TotalPrice = double.Parse(System.Web.HttpContext.Current.Session["TotalPrice"].ToString()); Address address = System.Web.HttpContext.Current.Session["Address"] as Address; Member member = _memberBLL.GetMemberByOpenId(System.Web.HttpContext.Current.Session["member"].ToString()); Order order = new Order(); order.Id = Guid.NewGuid(); order.IsDeleted = false; order.CreatedTime = DateTime.Now; order.DeletedTime = DateTime.MinValue.AddHours(8); order.AddressId = address.Id; order.MemberId = member.Id; string gid = Guid.NewGuid().ToString().Replace("-", "").ToUpper().Substring(0, 6); order.OrderNo = gid + TimeManager.GetCurrentTimestamp().ToString(); order.Status = 0; order.TotalPrice = TotalPrice; order.PayWay = payway; List <OrderDetail> odList = new List <OrderDetail>(); if (_orderBLL.Add(order)) { foreach (var item in cartList) { OrderDetail od = new OrderDetail(); od.Id = Guid.NewGuid(); od.Count = item.Count; od.CreatedTime = DateTime.Now; od.CurrentDiscount = item.Discount; od.CurrentPrice = item.Price; od.DeletedTime = DateTime.MinValue.AddHours(8); od.GoodsId = item.Id; od.IsDeleted = false; od.OrderId = order.Id; od.OrderNo = order.OrderNo; od.TotalPrice = od.Count * od.CurrentDiscount * od.CurrentPrice; // 添加订单详情 // 如果添加失败 则回滚 if (!_orderDetailBLL.Add(od)) { // 删除已添加的 OrderDetail _orderDetailBLL.Remove(odList); return(Json("Error", JsonRequestBehavior.AllowGet)); } else { odList.Add(od); } } // 添加订单成功后 要把购物车上的物品标记成 已删除 foreach (CartModel item in cartList) { Cart cart = new Cart(); cart = _cartBLL.GetCartByMemberIdAndGoodsId(member.Id, item.Id); cart.IsDeleted = true; _cartBLL.Update(cart); } //订单添加后 添加OrderStatus对象 标记订单的配送状态 OrderStatus os = new OrderStatus(); os.Id = Guid.NewGuid(); os.IsDeleted = false; os.OrderId = order.Id; os.Status = 0; os.CreatedTime = DateTime.Now; os.DeletedTime = DateTime.MinValue.AddHours(8); _orderStausBLL.Add(os); var jsonResult = new { payway = payway, totalprice = order.TotalPrice, orderNo = order.OrderNo }; return(Json(jsonResult, JsonRequestBehavior.AllowGet)); } else { return(Json("Error", JsonRequestBehavior.AllowGet)); } }