Ejemplo n.º 1
0
        internal static void Initialize(this BurgerStoreDbContext db)
        {
            //Sometimes this has to be commented out if you run into migrations/db rebuild issues
            db.Database.Migrate();

            if (db.Products.Count() == 0)
            {
                db.Products.Add(new Product
                {
                    Name        = "Ground Beef Burger",
                    Description = "Our special 80/20 blend of ground beef",
                    Image       = "/images/burger1.jpeg  ",
                    Price       = 5.99m,
                    Organic     = false,
                    Grassfed    = false
                });
                db.Products.Add(new Product
                {
                    Name        = "Organic Grassfed Ground Beef Burger",
                    Description = "A delicious blend of humanely raised ground organic grassfed beef",
                    Image       = "/images/burger2.jpeg ",
                    Price       = 7.99m,
                    Organic     = true,
                    Grassfed    = true
                });
                db.Products.Add(new Product
                {
                    Name        = "Ground Turkey Burger",
                    Description = "Thanksgiving on the grill!",
                    Image       = "/images/burger3.jpeg ",
                    Price       = 3.99m,
                    Organic     = false,
                    Grassfed    = false
                });
                db.Products.Add(new Product
                {
                    Name        = "Veggie Burger",
                    Description = "A healthy and delicous meat alternative for your grilling pleasure!",
                    Image       = "/images/veggieburger.jpeg",
                    Price       = 5.99M,
                    Organic     = true,
                    Grassfed    = false
                });


                //This helps not make the request too "chatty" with SQL(locking tables)
                db.SaveChanges();
            }
        }
Ejemplo n.º 2
0
        public IActionResult Details(int id, int quantity = 1)
        {
            Guid cartId;
            Cart cart = null;

            if (Request.Cookies.ContainsKey("cartId"))
            {
                if (Guid.TryParse(Request.Cookies["cartId"], out cartId))
                {
                    cart = _burgerStoreDbContext.Carts.Include(carts => carts.CartItems).ThenInclude(cartitems => cartitems.Product).FirstOrDefault(x => x.CookieIdentifier == cartId);
                }
            }

            if (cart == null)
            {
                cart   = new Cart();
                cartId = Guid.NewGuid();
                cart.CookieIdentifier = cartId;

                _burgerStoreDbContext.Carts.Add(cart);
                Response.Cookies.Append("cartId", cartId.ToString(), new Microsoft.AspNetCore.Http.CookieOptions {
                    Expires = DateTime.UtcNow.AddYears(100)
                });
            }
            CartItem item = cart.CartItems.FirstOrDefault(x => x.Product.ID == 2);

            if (item == null)
            {
                item         = new CartItem();
                item.Product = _burgerStoreDbContext.Products.Find(id);
                cart.CartItems.Add(item);
            }

            item.Quantity    += quantity;
            cart.LastModified = DateTime.Now;

            _burgerStoreDbContext.SaveChanges();
            return(RedirectToAction("Index", "Cart"));
        }
Ejemplo n.º 3
0
        public IActionResult Remove(int id)
        {
            Guid cartId;
            Cart cart = null;

            if (Request.Cookies.ContainsKey("cartId"))
            {
                if (Guid.TryParse(Request.Cookies["cartId"], out cartId))
                {
                    cart = _burgerStoreDbContext.Carts.Include(carts => carts.CartItems).ThenInclude(cartitems => cartitems.Product).FirstOrDefault(x => x.CookieIdentifier == cartId);
                }
            }

            CartItem item = cart.CartItems.FirstOrDefault(x => x.ID == id);

            cart.LastModified = DateTime.Now;

            _burgerStoreDbContext.CartItems.Remove(item);

            _burgerStoreDbContext.SaveChanges();

            return(RedirectToAction("Index"));
        }