Ejemplo n.º 1
0
 public ActionResult Checkout()
 {
     using (var db = new Context())
     {
         var firstOrDefault = db.Users.FirstOrDefault(x => x.UserName.Equals(User.Identity.Name));
         if (firstOrDefault == null) return View();
         var model = new CheckoutViewModel
         {
             Lines = GetCart().CartLines,
             Address = firstOrDefault.Address
         };
         return View(model);
     }
 }
Ejemplo n.º 2
0
        public ActionResult Checkout(CheckoutViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                using (var db = new Context())
                {
                    var user = db.Users.FirstOrDefault(x => x.UserName.Equals(User.Identity.Name));

                    var order = new Order
                    {
                        CreateDate = DateTime.Now,
                        IsPaid = true,
                        User = user,
                        Address = model.Address
                    };
                    db.Orders.Add(order);

                    foreach (var item in GetCart().Lines)
                    {
                        var detail = new OrderDetail
                        {
                            Count = item.Count,
                            Order = order,
                            ProductName = item.Product.Name
                        };
                        item.Product.SellCount += item.Count;
                        db.OrderDetails.Add(detail);

                    }
                    order.Price = GetCart().Lines.Sum(x => x.Count * x.Product.Price);
                    GetCart().CartLines.Clear();
                    db.SaveChanges();
                    return View("Success", order.Id);
                }
            }
            return View();
        }