Example #1
0
 public int CreateOrder(Order order)
 {
     decimal orderTotal = 0;
     var cartItems = GetCartItems();
     // Iterate over the items in the cart, adding the order details for each
     foreach (var item in cartItems)
     {
         var orderDetail = new OrderDetail
         {
             AlbumId = item.AlbumId,
             OrderId = order.OrderId,
             UnitPrice = item.Album.Price,
             Quantity = item.Count
         };
         // Set the order total of the shopping cart
         orderTotal += (item.Count * item.Album.Price);
         storeDB.OrderDetails.Add(orderDetail);
     }
     // Set the order's total to the orderTotal count
     order.Total = orderTotal;
     // Save the order
     storeDB.SaveChanges();
     // Empty the shopping cart
     EmptyCart();
     // Return the OrderId as the confirmation number
     return order.OrderId;
 }
Example #2
0
 public ActionResult AddressAndPayment(FormCollection values)
 {
     var order = new Order();
     TryUpdateModel(order);
     try
     {
         if (string.Equals(values["PromoCode"], PromoCode,
         StringComparison.OrdinalIgnoreCase) == false)
         {
             return View(order);
         }
         else
         {
             order.Username = User.Identity.Name;
             order.OrderDate = DateTime.Now;
             //Save Order
             storeDB.Orders.Add(order);
             storeDB.SaveChanges();
             //Process the order
             var cart = ShoppingCart.GetCart(this.HttpContext);
             cart.CreateOrder(order);
             return RedirectToAction("Complete",
             new { id = order.OrderId });
         }
     }
     catch
     {
         //Invalid - redisplay with errors
         return View(order);
     }
 }