Ejemplo n.º 1
0
        public RedirectToRouteResult AddToCart(int id)
        {
            var product = repository.GetProducts().FirstOrDefault(p => p.ProductId == id);

            //var product = db.Products.FirstOrDefault(p => p.ProductId == id);

            if (product != null)
            {
                var userInfoId = User.Identity.GetUserId();
                var cartLine   = repository.GetAll().SingleOrDefault(c => c.UserInfoId == userInfoId &&
                                                                     c.ProductId == product.ProductId);

                //var userInfoId = User.Identity.GetUserId();
                //var cartLine = db.CartLines.SingleOrDefault(c => c.UserInfoId == userInfoId
                //                                            && c.ProductId == product.ProductId);

                if (cartLine == null)
                {
                    //db.CartLines.Add(new CartLine
                    repository.Add(new CartLine
                    {
                        UserInfoId = userInfoId,
                        Product    = product,
                        Quantity   = 1
                    });
                }
                else
                {
                    cartLine.Quantity++;
                }

                repository.Save();
                //db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }