public ActionResult Checkout()
 {
     OrderDetails model = new OrderDetails();
     model.Payment = new OrderDetails.PaymentVM();
     model.Address = new OrderDetails.AddressVM();
     model.TotalSum = (Decimal) GetCart().ComputeTotalSum() + model.DelivaryCost;
     return PartialView(model);
 }
 public ActionResult Checkout( OrderDetails orderDetails)
 {
     Cart cart = GetCart();
     orderDetails.Products = cart.Lines;
     repository.AddOrder(orderDetails);
     cart.Clear();
     return RedirectToAction("SuccessfullOrder");
 }
        public void AddOrder(OrderDetails orderDetails)
        {
            /*
            List<Product> products = new List<Product>();
            //products.Add(context.Products.Find(3));
            foreach(var productLine in orderDetails.Products)
            {
                for (int i = 1; i <= productLine.Quantity; i++)
                    products.Add(context.Products.First(x => x.Id == productLine.Product.Id));
            }

            using(context)
            {
                Order newOrder = new Order()
                {
                    DateTime = DateTime.Now,
                    TotalSum = orderDetails.TotalSum,
                    product = products
                };

                Customer customer = new Customer()
                {
                    Name = orderDetails.Name,
                    LastName = orderDetails.LastName,
                    Mail = orderDetails.Email,
                    Phone = orderDetails.Phone
                };

                Delivary dalivary = new Delivary()
                {
                    Cost = orderDetails.DelivaryCost,
                    Address = new Address()
                    {
                        City = orderDetails.Address.City,
                        Street = orderDetails.Address.Street,
                        House = orderDetails.Address.House,
                        Apartment = orderDetails.Address.Apartment

                    }
                };

                newOrder.customer = customer;
                newOrder.PaymentTypes_Id = orderDetails.Payment.PaymentType.Id;
                dalivary.Order_Id = newOrder.Id;

                context.Orders.Add(newOrder);
                context.SaveChanges();
                 */
        }