// GET: Checkout
        public ActionResult Index(Menu[] menu)
        {
            ViewBag.setting = context.Settings.FirstOrDefault();

            vmCheckout checkout = new vmCheckout();

            checkout.Tags           = context.Tags.ToList();
            checkout.BlogCategories = context.BlogCategories.ToList();
            checkout.InstaFeeds     = context.InstaFeeds.ToList();
            checkout.Blogs          = context.Blogs.ToList();


            HttpCookie cookie = Request.Cookies["Card"];

            if (cookie != null)
            {
                List <string> Card = cookie.Value.Split(',').ToList();
                Card.RemoveAt(Card.Count - 1);

                ViewBag.Card      = Card;
                ViewBag.CardCount = Card.Count;

                List <Menu> Menu = new List <Menu>();

                foreach (var item in menu)
                {
                    foreach (var item2 in context.Menus.ToList())
                    {
                        if (item2.Id == item.Id)
                        {
                            item2.Quantity = item.Quantity;
                            Menu.Add(item2);
                        }
                    }
                }
                checkout.Menus = Menu;
            }
            else
            {
                ViewBag.CardCount = 0;
            }

            return(View(checkout));
        }
        public object Checkout(vmCheckout model)
        {
            string paymentStatus = string.Empty;
            var    gateway       = config.GetGateway();

            var request = new TransactionRequest
            {
                Amount             = model.Price,
                PaymentMethodNonce = model.PaymentMethodNonce,
                Options            = new TransactionOptionsRequest
                {
                    SubmitForSettlement = true
                }
            };

            Result <Transaction> result = gateway.Transaction.Sale(request);

            if (result.IsSuccess())
            {
                paymentStatus = "Succeded";

                //Do Database Operations Here
            }
            else
            {
                string errorMessages = "";
                foreach (ValidationError error in result.Errors.DeepAll())
                {
                    errorMessages += "Error: " + (int)error.Code + " - " + error.Message + "\n";
                }

                paymentStatus = errorMessages;
            }

            return(paymentStatus);
        }