public IActionResult Checkout() { try { using (TransactionScope scope = new TransactionScope()) { string user = User.Identity.Name; //var list = _cartService.GetCartForUser(user); //// add order //var o = new OrderViewModel() //{ // Email = user, // DatePlaced = DateTime.Now //}; //o.Id = _orderService.CreateOrder(o); //foreach (var i in list) //{ // if (i.Quantity <= i.Product.Stock) // { // // add order details // var od = new OrderDetailsViewModel() // { // ProductId = i.Product.Id, // Price = i.Product.Price, // Quantity = i.Quantity, // OrderId = o.Id // }; // _orderDetailService.CreateOrderDetails(od); // // decrease stock // _prodService.DecreaseStock(i.Product.Id, i.Quantity); // // clear from cart // _cartService.DeleteFromCart(i.Id); // }; //} _orderService.Checkout(user); scope.Complete(); } TempData["feedback"] = "Order successful!"; ModelState.Clear(); } catch (Exception ex) { TempData["warning"] = "Error: Order failed, please try again later"; } return(Redirect("../Products")); }
public IActionResult Checkout() { try { _ordersService.Checkout(User.Identity.Name); TempData["feedback"] = "Products have been checked out!"; return(RedirectToAction("LastOrder")); } catch (Exception ex) { TempData["warning"] = "Checkout failed!"; } return(RedirectToAction("Index", "Carts")); }
public IActionResult Checkout() { //Uses the email to process the user's order taken from User.Identity.Name try { _ordersService.Checkout(User.Identity.Name); TempData["feedback"] = "Checkout Complete"; } catch (Exception e) { _logger.LogError(e.Message); TempData["warning"] = "Error with checkout, sorry for the inconvenience!"; return(RedirectToAction("Error", "Home")); } return(RedirectToAction("Index", "Products")); }
public IActionResult AddOrder() { try { var c = GetCart(); if (c != null) { _OrderService.Checkout(c.Email); _OrderDetail.addOrderDetails(c.Email); _cartService.deletecart(c); TempData["feedback"] = "Order was added"; } } catch (Exception ex) { //log your error S TempData["warning"] = "Order was not added" + ex; //Change from ViewData to TempData return(RedirectToAction("error", "Home")); } return(RedirectToAction("Index")); }