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 = "購物車更新成功" })); }
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, } }) })); }