public ActionResult ShowSingleDetail(AddDessertViewModel order) { var nowDessert = Session["DessertCount"] as List<AddDessertViewModel>; if (!(nowDessert.Count() > 0)) { return RedirectToAction("Index"); } Random rad = new Random(); string OrderID = DateTime.Now.ToString("yyyyMMddHHmmss") + rad.Next(999).ToString("000"); if (string.IsNullOrEmpty(order.DeliveryAddress)) { ModelState.AddModelError("DeliveryAddress", "請填寫送貨地址"); } if (ModelState.IsValid) { db.Orders.Add(new Orders() { Account = User.Identity.Name, DeliveryAddress = order.DeliveryAddress, Orderstat = 1, OrderID = OrderID, OrderDate = DateTime.Today.Date, }); foreach (var item in nowDessert) { string detailID = DateTime.Now.ToString("yyyyMMddHHmmss"); var orderDetail = db.OrderDetails.Where(x => x.DetailID.StartsWith(detailID)); if (orderDetail.Count() > 0) { detailID = detailID + (Convert.ToInt32(orderDetail.FirstOrDefault().DetailID.Substring(13, 4)) + 1).ToString("0000"); } else { detailID = detailID + rad.Next(9999).ToString("0000"); } db.OrderDetails.Add(new OrderDetails() { DessertID = item.DessertID, DetailID = detailID, DessertAmount = item.DessertAmount, GiftID = "G999", OrderID = OrderID, }); db.SaveChanges(); } TempData["BuySuccess"] = "購買成功"; Session.Clear(); return RedirectToAction("Index"); } ShowTotal(); return View(order); }
public ActionResult AddDessertCount(AddDessertViewModel addDessert) { if (ModelState.IsValid) { List<AddDessertViewModel> BuyDessert = Session["DessertCount"] as List<AddDessertViewModel>; var checkDessert = BuyDessert.Where(x => x.DessertID == addDessert.DessertID); if (checkDessert.Count() > 0) { checkDessert.FirstOrDefault().DessertAmount = addDessert.DessertAmount; } { BuyDessert.Add(addDessert); } return RedirectToAction("Index"); } var selectDessert = db.Dessert.Find(addDessert.DessertID); addDessert = AddModel(selectDessert); return View(addDessert); }
public ActionResult ShowDessert(string GiftID) { var gift = db.Gift.Find(GiftID); var dessertCount = Session["DessertCount"] as List<AddDessertViewModel>; if (Session["Gift"] != null) { Session["Gift"] = null; dessertCount.Clear(); } if (Session["Gift"] == null) { Session["Gift"] = new AddDessertViewModel() { GiftID = gift.GiftID, PieCount = gift.PieCount, CookieCount = gift.CookieCount, CakeCount = gift.CakeCount }; } AddDessertViewModel GiftModel = Session["Gift"] as AddDessertViewModel; return View(GiftModel); }
public ActionResult AddDessertCount(AddDessertViewModel addDessert) { List<AddDessertViewModel> BuyDessert = Session["DessertCount"] as List<AddDessertViewModel>; int totalCookie = BuyDessert.Where(x => x.DessertKind == addDessert.DessertKind).Sum(x => x.DessertAmount); if (addDessert.DessertKind == "Cookie") { if (addDessert.DessertAmount + totalCookie > addDessert.CookieCount) { if (addDessert.CookieCount == 0) { ModelState.AddModelError("DessertAmount", "此禮盒不能選餅乾"); } else { ModelState.AddModelError("DessertAmount", "餅乾的數量超過" + addDessert.CookieCount + "個"); } } } if (addDessert.DessertKind == "Pie") { if (addDessert.DessertAmount + totalCookie > addDessert.PieCount) { if (addDessert.PieCount == 0) { ModelState.AddModelError("DessertAmount", "此禮盒不能選派"); } { ModelState.AddModelError("DessertAmount", "派的數量超過" + addDessert.PieCount + "個"); } } } if (addDessert.DessertKind == "Cake") { if (addDessert.DessertAmount + totalCookie > addDessert.CakeCount) { if (addDessert.CakeCount == 0) { ModelState.AddModelError("DessertAmount", "此禮盒不能選蛋糕"); } { ModelState.AddModelError("DessertAmount", "蛋糕的數量超過" + addDessert.CakeCount + "個"); } } } if (ModelState.IsValid) { var checkDessert = BuyDessert.Where(x => x.DessertID == addDessert.DessertID); if (checkDessert.Count() > 0) { checkDessert.FirstOrDefault().DessertAmount = addDessert.DessertAmount; } { BuyDessert.Add(addDessert); } return RedirectToAction("ShowDessert"); } var selectDessert = db.Dessert.Find(addDessert.DessertID); addDessert = AddModel(selectDessert); AddDessertViewModel GiftModel = Session["Gift"] as AddDessertViewModel; addDessert.GiftID = GiftModel.GiftID; addDessert.PieCount = GiftModel.PieCount; addDessert.CookieCount = GiftModel.CookieCount; addDessert.CakeCount = GiftModel.CakeCount; return View(addDessert); }
public ActionResult ShowBoxDetail(AddDessertViewModel order) { var nowDessert = Session["DessertCount"] as List<AddDessertViewModel>; var nowGift = Session["Gift"] as AddDessertViewModel; Random rad = new Random(); string OrderID = DateTime.Now.ToString("yyyyMMddHHmmss") + rad.Next(999).ToString("000"); if (string.IsNullOrEmpty(order.DeliveryAddress)) { ModelState.AddModelError("DeliveryAddress", "請填寫送貨地址"); } #region if (ModelState.IsValid) { db.Orders.Add(new Orders() { Account = User.Identity.Name, DeliveryAddress = order.DeliveryAddress, Orderstat = 1, OrderID = OrderID, OrderDate = DateTime.Today.Date, }); foreach (var item in nowDessert) { string detailID = DateTime.Now.ToString("yyyyMMddHHmmss"); do { detailID = detailID + rad.Next(9999).ToString("0000"); } while (db.OrderDetails.Where(x => x.DetailID == detailID).Count() > 0); db.OrderDetails.Add(new OrderDetails() { DessertID = item.DessertID, DetailID = detailID, DessertAmount = item.DessertAmount, GiftID = nowGift.GiftID, OrderID = OrderID, }); db.SaveChanges(); } TempData["BuySuccess"] = "購買成功"; Session.Clear(); return RedirectToAction("Index"); } #endregion ShowTotal(); return View(order); }