Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
        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"));
        }
Ejemplo n.º 3
0
        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"));
        }
Ejemplo n.º 4
0
        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"));
        }