public ActionResult Complete(Order order)
        {
            var viewModel = new CheckOutCompleteViewModel
                                {
                                    Order = order
                                };

            return View(viewModel);
        }
        public Order CreateOrder(string email, UserProfile userProfile)
        {
            var user = new User
                           {
                               Email = email,
                               UserProfile = userProfile
                           };

            var order = new Order { User = user };
            Orders.Add(order);

            return order;
        }
        public Order CreateOrder(string email, UserProfile userProfile)
        {
            Check.Require(!string.IsNullOrEmpty(email));
            Check.Require(null != userProfile);
            var order = new Order();

            order.OrderDate = DateTime.Now;

            var user = _userRepository.GetUserByEmail(email);
            if (!user.UserProfile.Equals(userProfile)) {
                var id = user.UserProfile.Id;
                user.UserProfile = userProfile;
                user.UserProfile.Id = id;
                _userRepository.SaveOrUpdate(user);
            }

            order.User = user;

            order.TotalValue = ComputeTotalValue(user.ShoppingCart);

            foreach (var cartItem in user.ShoppingCart.CartItems) {
                var orderItem = new OrderItem
                                    {
                                        Movie = cartItem.Movie,
                                        Quantity = cartItem.Quantity
                                    };

                order.OrderItems.Add(orderItem);

                _orderItemRepository.SaveOrUpdate(orderItem);
            }

            _orderRepository.SaveOrUpdate(order);

            var cart = user.ShoppingCart;
            EmptyCart(ref cart);

            return order;
        }
        public void SaveOrUpdate(Order order)
        {
            Check.Require(order != null);

            Session.SaveOrUpdate(order);
        }
 public void SaveOrUpdate(Order order)
 {
     throw new NotImplementedException();
 }