Exemplo n.º 1
0
        public ViewResult CheckOut(Cart cart, FormCollection form)
        {
            // Empty carts can't be checked out
            if (cart.Lines.Count == 0)
            {
                ModelState.AddModelError("Cart", "Sorry, your cart is empty!");
                return(View());
            }

            // Invoke model binding manually
            CreditCard cc = new CreditCard();

            if (TryUpdateModel(cart.ShippingDetails, form.ToValueProvider()) &&
                TryUpdateModel <CreditCard>(cc, form.ToValueProvider()))
            {
                if (creditCardProcessor.TakePayment(cc, cart.ComputeTotalValue()) == TransactionResult.Success)
                {
                    orderSubmitter.SubmitOrder(cart);
                    cart.Clear();
                    return(View("Completed"));
                }
                {
                    ViewData["PageError"] = "Order processing failed";
                    return(View());
                }
            }
            else // Something was invalid
            {
                return(View());
            }
        }
Exemplo n.º 2
0
        public ActionResult CheckOut(Cart cart, DeliveryDetails deliveryDetails)
        {
            // Empty carts can't be checked out
            if (cart.Lines.Count == 0)
            {
                ModelState.AddModelError("Cart", "Sorry, your cart is empty!");
            }

            if (ModelState.IsValid)
            {
                if (Session["CustID"] == null)
                {
                    CustID = 1;
                }
                else
                {
                    CustID    = Convert.ToInt32(Session["CustID"]);
                    CustEmail = Session["EmailAddr"].ToString();
                }
                int orderid = orderSubmitter.SubmitOrder(cart, deliveryDetails, CustID, CustEmail);
                cart.Clear();
                Response.Redirect("/OrderDisplay/CustomerDisplayOrders?orderID=" + orderid);
                return(View("Completed"));
            }
            else // Something was invalid
            {
                return(View(deliveryDetails));
            }
        }
Exemplo n.º 3
0
        public ViewResult CheckOut(Cart cart, FormCollection form)
        {
            if (cart.Lines.Count == 0)
            {
                ModelState.AddModelError("Cart", "Sorry, your cart is empty!");
                return(View());
            }

            if (TryUpdateModel(cart.ShippingDetails, form.ToValueProvider()))
            {
                orderSubmitter.SubmitOrder(cart);
                cart.Clear();
                return(View("Completed"));
            }
            else
            {
                return(View());
            }
        }
Exemplo n.º 4
0
        public ActionResult CheckOut(Cart cart, ShippingDetails shippingDetails)
        {
            // Empty carts can't be checked out
            if (cart.Lines.Count == 0)
            {
                ModelState.AddModelError("Cart", "Sorry, your cart is empty!");
            }

            if (ModelState.IsValid)
            {
                orderSubmitter.SubmitOrder(cart, shippingDetails);
                cart.Clear();
                return(View("Completed"));
            }
            else // Something was invalid
            {
                return(View(shippingDetails));
            }
        }
Exemplo n.º 5
0
 public ViewResult CheckOut(Cart cart, FormCollection form)
 {
     // Empty carts can't be checked out
     if (cart.Lines.Count == 0)
     {
         ModelState.AddModelError("Cart", "Sorry, your cart is empty!");
         return(View());
     }
     // Invoke model binding manually
     if (TryUpdateModel(cart.ShippingDetails, form.ToValueProvider()))
     {
         orderSubmitter.SubmitOrder(cart);
         cart.Clear();
         return(View("Completed"));
     }
     else // Something was invalid
     {
         return(View());
     }
 }