public ActionResult CreateOrder(OrderViewModel orderViewModel) { List <Fruit> fruits = (List <Fruit>)Session["Cart"]; if (ModelState.IsValid) { Order order = new Order(); order.FruitOrder = new List <FruitOrder>(); order.Customer = orderViewModel.Order.Customer; foreach (Fruit fruit in fruits) { FruitOrder fo = new FruitOrder(); fo.Fruit = db.Fruit.FirstOrDefault(f => f.Name == fruit.Name); fo.Order = null; order.FruitOrder.Add(fo); } order.TotalCost = orderViewModel.Order.TotalCost; order.TotalWeight = orderViewModel.Order.TotalWeight; db.Order.Add(order); db.SaveChanges(); } fruits = new List <Fruit>(); Session["Cart"] = fruits; return(RedirectToAction("Index", "Fruit", new FruitViewModel() { Fruits = db.Fruit.ToList(), Cart = fruits })); }
// GET: Order/Create public ActionResult Create() { OrderViewModel orderViewModel = new OrderViewModel(); List <Fruit> fruits = (List <Fruit>)Session["Cart"]; orderViewModel.Order = new Order(); orderViewModel.Order.Customer = new Customer(); orderViewModel.Order.FruitOrder = new List <FruitOrder>(); foreach (Fruit fruit in fruits) { FruitOrder fo = new FruitOrder(); fo.Fruit = fruit; fo.Order = orderViewModel.Order; orderViewModel.Order.FruitOrder.Add(fo); } orderViewModel.Order.TotalCost = GetTotalCost(fruits); orderViewModel.Order.TotalWeight = GetTotalWeight(fruits); return(View(orderViewModel)); }