//
        // POST: /Checkout/Confirmation
        public ActionResult CompletingResult()
        {
            int userId = Convert.ToInt32(Membership.GetUser().ProviderUserKey.ToString());
            UserProfile user = db.UserProfiles.Find(userId);
            var cart = ShoppingCart.GetCart(this.HttpContext);

            var order = new Order();
            TryUpdateModel(order);

            order.UserId = userId;
            order.UserName = User.Identity.Name;
            order.OrderDate = DateTime.Now;
            order.UserProfiles = user;
            order.FirstName = user.FirstName;
            order.LastName = user.LastName;
            order.IsFulfilled = false;

            //Save Order
            db.Orders.Add(order);
            user.PointTotal -= cart.GetTotal();
            db.SaveChanges();
            //Process Order
            cart.CreateOrder(order);

            return RedirectToAction("Complete", new {id = order.OrderId});
        }
        public int CreateOrder(Order order)
        {
            int orderTotal = 0;

            var cartItems = GetCartItems();
            foreach (var item in cartItems)
            {
                var orderDetail = new OrderDetail
                {
                    ProductId = item.ProductId,
                    OrderId = order.OrderId,
                    UnitPrice = item.Product.Price,
                    Quantity = item.Count
                };

                orderTotal += (item.Count * item.Product.Price);

                db.OrderDetails.Add(orderDetail);

            }

            order.Total = orderTotal;
            db.SaveChanges();
            EmptyCart();

            return order.OrderId;
        }
 public ActionResult Edit(Order order)
 {
     if (ModelState.IsValid)
     {
         db.Entry(order).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     ViewBag.UserId = new SelectList(db.UserProfiles, "UserId", "UserName", order.UserId);
     return View(order);
 }