public ActionResult Index(Models.OrderModel.Ship ship) { if (this.ModelState.IsValid) { //取得目前購物車 var currentcart = Models.Operation.GetCurrentCart(); //取得目前登入使用者Id var userId = HttpContext.User.Identity.GetUserId(); //建立order物件 var order = new Models.Order() { UserId = userId, RecieverName = ship.RecieveName, RecieverPhone = ship.RecievePhone, RecieverAddress = ship.RecieveAddress }; //加其入Orders資料表後,儲存變更 db.Order.Add(order); db.SaveChanges(); //取得購物車中OderDetail物件 var orderDetails = currentcart.ToOrderDetaiList(order.Id); //將其加入OrderDetails資料表後儲存變更 db.OrderDetail.AddRange(orderDetails); db.SaveChanges(); currentcart = Models.Operation.GetCurrentCart(); currentcart.ClearCart(); return(Content("訂購成功")); } return(View()); }
public ActionResult Index(Models.OrderModel.Ship postback) { if (this.ModelState.IsValid) { var CurrentCart = Models.Operation.GetCurrentCart(); var userId = HttpContext.User.Identity.Name; using (CartsEntities db = new CartsEntities()) { //建立Order物件 var order = new Order() { UserId = userId, RecieverName = postback.RecieverName, RecieverPhone = postback.RecieverPhone, RecieverAddress = postback.RecieverAddress }; //加入Orders資料表後儲存變更 db.Order.Add(order); db.SaveChanges(); //取得購物車中的OrderDetail物件 var OrderDetail = CurrentCart.ToOrderDetailList(order.Id); //加入OrderDetail資料表後儲存變更 db.OrderDetail.AddRange(OrderDetail); db.SaveChanges(); } TempData["ResultMessage"] = String.Format("{0}你好,您的訂單已訂購成功", postback.RecieverName); return(View("ThanksForBuy")); } return(View()); }
public ActionResult Index(Models.OrderModel.Ship postback) { if (this.ModelState.IsValid) { //取得目前購物車 var currentcart = Models.Cart.Operation.GetCurrentCart(); //取得目前登入使用者Id var userId = HttpContext.User.Identity.GetUserId(); using (Models.CartsEntities db = new Models.CartsEntities()) { //建立Order物件 var order = new Models.Order() { UserId = userId, RecieverName = postback.RecieverName, RecieverPhone = postback.RecieverPhone, RecieverAddress = postback.RecieverAddress }; //加其入Orders資料表後,儲存變更 db.Orders.Add(order); db.SaveChanges(); //取得購物車中OrderDetai物件 var orderDetails = currentcart.ToOrderDetailList(order.Id); //將其加入OrderDetails資料表後,儲存變更 db.OrderDetails.AddRange(orderDetails); db.SaveChanges(); } var Url = "~/Home"; return(Redirect(Url)); } return(View()); }
public ActionResult Index(Models.OrderModel.Ship postback) { if (this.ModelState.IsValid) { var currentcart = Models.Carts.Operation.GetCurrentCart(); var UserId = 2; using (Models.Database._1MVC1Model db = new Models.Database._1MVC1Model()) { var order = new Models.Database.Order() { CustomerID = UserId, RecieverName = postback.RecieverName, RecieverPhone = postback.RecieverPhone, RecieverAddress = postback.RecieverAddress }; db.Orders.Add(order); db.SaveChanges(); var orderDetail = currentcart.ToOrderDetailList(order.OrderID); db.OrderDetails.AddRange(orderDetail); db.SaveChanges(); } //return Content("訂購"); } return(View()); }
public ActionResult Index(Models.OrderModel.Ship postback) { if (this.ModelState.IsValid) { var currentcart = Models.Cart.Operation.GetCurrentCart(); var UserId = HttpContext.User.Identity.GetUserId(); using (Models.mainEntities db = new Models.mainEntities()) { //Order object var order = new Models.Order() { UserId = UserId, RecieverName = postback.ReceiverName, RecieverPhone = postback.ReceiverPhone, RecieverAddress = postback.ReceiverAddress }; //Add data table db.OrderSet.Add(order); db.SaveChanges(); //Get OrderDetail Object var orderDetails = currentcart.ToOrderDetailList(order.Id); // insert to order datatable db.OrderDetailSet.AddRange(orderDetails); db.SaveChanges(); } return(Content("訂購成功!")); } return(View()); }
public ActionResult Index(Models.OrderModel.Ship postback) { if (this.ModelState.IsValid) { var currentcart = Models.Cart.Operation.GetCurrentCart(); var userId = HttpContext.User.Identity.GetUserId(); using (Models.ShoppingCartEntities db = new Models.ShoppingCartEntities()) { var order = new Models.Order() { UserId = userId, RecieverName = postback.RecieverName, RecieverAddress = postback.RecieverAddress, RecieverPhone = postback.RecieverPhone }; db.Orders.Add(order); db.SaveChanges(); var orderDetails = currentcart.ToOrderDetailList(order.Id); db.OrderDetails.AddRange(orderDetails); db.SaveChanges(); } return(Content("訂購成功")); } return(View()); }
public ActionResult Index(Models.OrderModel.Ship postback) { if (this.ModelState.IsValid) { //取得目前購物車 var currentcart = Models.Cart.Operation.GetCurrentCart(); //取得目前登入使用者Id var userId = HttpContext.User.Identity.GetUserId(); using (Models.CartsEntities db = new Models.CartsEntities()) { //建立Order 物件 var order = new Models.Order() { UserId = userId, RecieverName = postback.RecieverName, RecieverPhone = postback.RecieverPhone, RecieverAddress = postback.RecieverAddress }; //加其入Orders資料表後,儲存變更 db.Orders.Add(order); try { db.SaveChanges(); } catch (DbEntityValidationException ex) { var entityError = ex.EntityValidationErrors.SelectMany(x => x.ValidationErrors).Select(x => x.ErrorMessage); var getFullMessage = string.Join("; ", entityError); var exceptionMessage = string.Concat(ex.Message, "errors are: ", getFullMessage); } //取得購物車中OrderDetail物件 var orderDetails = currentcart.ToOrderDetailList(order.Id); //將其加入OrderDetails資料表後,儲存變更 db.OrderDetails.AddRange(orderDetails); try { db.SaveChanges(); } catch (DbEntityValidationException ex) { var entityError = ex.EntityValidationErrors.SelectMany(x => x.ValidationErrors).Select(x => x.ErrorMessage); var getFullMessage = string.Join("; ", entityError); var exceptionMessage = string.Concat(ex.Message, "errors are: ", getFullMessage); } } return(RedirectToAction("Index")); } return(View()); }
public ActionResult Index(Models.OrderModel.Ship postback) { if (this.ModelState.IsValid) { //取得目前購物車 var currentcart = Models.Carts.Operation.GetCurrentCart(); using (Models.SmartShoppingEntities ss = new Models.SmartShoppingEntities()) { //取得目前登入使用者Id if (User.Identity.IsAuthenticated) { string aspid = User.Identity.GetUserId(); MemberID = ss.Members.Where(m => m.Id == aspid).Select(m => m.Member_ID).First(); } //建立 Order 物件 int T = (int)currentcart.TotalAmount; var order = new Models.Orders() { //Order_ID Member_ID = MemberID, OrderDate = DateTime.Now, SubTotal = T, ValueAddTax = System.Convert.ToInt32(T * 0.05), ShippingFee = 50, Amount = System.Convert.ToInt32(T * 1.05 + 50), Consignee = postback.Consignee, ShipAddress = postback.ShipAddress, ShipMethod_ID = 1, PaymentMethod_ID = 1, Status_ID = 2, Comment = postback.ConsigneePhone }; //將其加入 Orders資料表後,儲存變更 ss.Orders.Add(order); ss.SaveChanges(); //取得購物車中OrderDetail物件 var orderDetails = currentcart.ToOrderDetailList(order.Order_ID); //將其加入 OrderDetails 資料表後,儲存變更 ss.OrderDetail.AddRange(orderDetails); ss.SaveChanges(); } return(Content("訂購成功,感謝您訂購我們的產品 <a href='Home/Index'>回首頁</a>")); } return(View()); }
public ActionResult Index(Models.OrderModel.Ship postback) { if (ModelState.IsValid) { //取得目前購物車 var currentcart = MVC_Carts.Models.Operation.GetCurrentCart(); //取得目前登入使用者Id string userId = HttpContext.User.Identity.GetUserId(); if (userId == null) { return(RedirectToAction("Login", "Account")); } using (MVC_Carts.Models.CartsEntities db = new MVC_Carts.Models.CartsEntities()) { //建立Order物件 var order = new MVC_Carts.Models.Order() { UserId = userId, ReceiverName = postback.RecieverName, ReceiverPhone = postback.RecieverPhone, ReceiverAddress = postback.RecieverAddress }; //加其入Orders資料表後,儲存變更 db.Orders.Add(order); db.SaveChanges(); //取得購物車中OrderDetai物件 var orderDetails = currentcart.ToOrderDetailList(order.Id); //更新商品庫存數量 for (int i = 0; i < orderDetails.Count; i++) { int productId = Convert.ToInt32(orderDetails[i].Id); var result = (from p in db.Products where p.Id == productId select p).FirstOrDefault(); result.Quantity = result.Quantity - orderDetails[i].Quantity; } //將其加入OrderDetails資料表後,儲存變更 db.OrderDetails.AddRange(orderDetails); db.SaveChanges(); //清空購物車商品 currentcart.ClearCart(); } //DB連線釋放 } return(RedirectToAction("Success")); }
//Day25 //OrderController 的Index() 定義如何將資料存入訂單資料庫(Order與OrderDetail資料表), //其中順序為先寫入Order後, //再寫入OrderDetail。 public ActionResult Index(Models.OrderModel.Ship model) { if (this.ModelState.IsValid) { //取得目前購物車 var CurrentCart = Models.Carts.Operation.GetCurrentCart(); //取得目前登入使用者 Id var UserId = HttpContext.User.Identity.GetUserId(); using (Models.CartsEntities1 db = new Models.CartsEntities1()) { //建立Order物件 var order = new Models.Order() { UserId = UserId, ReceiverName = model.ReceiverName, ReceiverPhone = model.ReceiverPhone, ReceiverAddress = model.ReceiverAddress }; // 加入 Order 資料表後,儲存變更 db.Orders.Add(order); db.SaveChanges(); //取得購物車中的 OrderDeatil 物件 var orderDetails = CurrentCart.ToOrderDetailList(order.Id); //將 OrderDetails 物件,加入OrderDetail資枓表後,儲存變更。 db.OrderDetails.AddRange(orderDetails); db.SaveChanges(); } return(Content("訂購成功")); } return(View()); }
public ActionResult Index(Models.OrderModel.Ship postback) { if (this.ModelState.IsValid) { //暫存訂單編號 int Id = 0; //取得目前購物車 var currentcart = Models.Cart.Operation.GetCurrentCart(); //取得目前登入使用者Id var userId = HttpContext.User.Identity.GetUserId(); using (Models.ShoppingCartsEntities db = new Models.ShoppingCartsEntities()) { //建立Order物件 var order = new Models.Order() { UserId = userId, ReceiverName = postback.ReceiverName, ReceiverPhone = postback.ReceiverPhone, ReceiverAddress = postback.ReceiverAddress }; //加其入Orders資料表後,儲存變更 db.Orders.Add(order); try { db.SaveChanges(); //取得訂單編號 Id = order.Id; } catch (DbEntityValidationException deEx) { foreach (var validationError in deEx.EntityValidationErrors) { foreach (var dbValidationError in validationError.ValidationErrors) { throw new Exception(dbValidationError.ErrorMessage); } } } //db.SaveChanges(); //取得購物車OrderDetail物件 var orderDetails = currentcart.ToOrderDetailList(order.Id); //將其加入OrderDetails資料表後,儲存變更 db.OrderDetails.AddRange(orderDetails); try { db.SaveChanges(); } catch (DbEntityValidationException deEx) { foreach (var validationError in deEx.EntityValidationErrors) { foreach (var dbValidationError in validationError.ValidationErrors) { throw new Exception(dbValidationError.ErrorMessage); } } } //取得購物車選擇商品數量 var productAmount = currentcart.Select(c => new { c.Id, c.Quantity }).ToList(); //將商品庫存檢調購物車數量後,更新至資料庫 foreach (var item in productAmount) { var result = (from s in db.Products where s.Id == item.Id select s).FirstOrDefault(); result.Quantity = result.Quantity - item.Quantity; db.SaveChanges(); } } currentcart.ClearCart(); TempData["Success"] = "訂購成功"; return(RedirectToAction("MyOrderDetail", new { id = Id })); } return(View()); }