Esempio n. 1
0
        public IHttpActionResult BrandEditCart(string id, [Bind(Include = "Id,ProductUnit")] ViewBrandCart viewBrandCart)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            Cart cart    = new Cart();
            int  id_temp = Convert.ToInt32(id);

            cart             = db.Carts.Where(c => c.Id == id_temp).FirstOrDefault();
            cart.ProductUnit = viewBrandCart.ProductUnit;
            cart.Amount      = viewBrandCart.ProductUnit * cart.ProductPrice;
            //cart.Amount = viewCart.Amount;

            db.Entry(cart).State = EntityState.Modified;
            db.SaveChanges();

            return(Ok(new
            {
                result = true,
                message = "購物車更新成功"
            }));
        }
Esempio n. 2
0
        public IHttpActionResult BrandPostCart(ViewBrandCart viewBrandCart)
        {
            var Product = db.ProductLists.Find(viewBrandCart.ProductListId);

            if (Product == null)
            {
                return(NotFound());
            }

            //顧客資料
            string      token       = Request.Headers.Authorization.Parameter;
            JwtAuthUtil jwtAuthUtil = new JwtAuthUtil();
            int         id          = Convert.ToInt32(jwtAuthUtil.GetId(token));

            bool isCart = db.Carts

                          .Where(c => c.BrandId == id && c.CustomerId == 0)

                          .Any(c => c.ProductListId == viewBrandCart.ProductListId);

            if (isCart) //購物車有相同的商品
            {
                Cart cart = db.Carts.First(c => c.BrandId == id && c.ProductListId == viewBrandCart.ProductListId);
                cart.ProductUnit += 1;
                cart.Amount       = cart.ProductPrice * cart.ProductUnit;
            }
            else
            {
                //餐車業主
                var Brand = db.Brands.FirstOrDefault(b => b.Id == Product.BrandId);


                db.Carts.Add(new Cart
                {
                    CustomerId    = 666,
                    BrandId       = id,
                    BrandName     = Brand.BrandName,
                    ProductListId = viewBrandCart.ProductListId,
                    ProductName   = Product.ProductName,
                    ProductPrice  = Product.Price,
                    ProductUnit   = viewBrandCart.ProductUnit,
                    Amount        = Product.Price * viewBrandCart.ProductUnit,
                });
            }

            db.SaveChanges();

            return(Ok(new
            {
                result = true,
                message = "已加入購物車",
                carts = db.Carts
                        .Where(cart => cart.CustomerId == id)
                        .Select(cart => new
                {
                    cart.Id,
                    cart.CustomerId,
                    cart.BrandId,
                    cart.BrandName,
                    ProductList = new
                    {
                        cart.ProductListId,
                        cart.ProductName,
                        cart.ProductUnit,
                        cart.ProductPrice,
                        cart.Amount,
                    }
                })
            }));
        }