我正在尝试使用购物车测试 WCF Web 服务。下面的方法基本上接收 CartLine 列表,并从数据库中减去添加到购物车的所有产品。然后,它发送一条已处理消息,或者如果库存不足则发送一条订单取消消息。
\n\npublic string Deliver(List<CartLine> cartLine)\n {\n string strOut = null;\n StartPurchase();\n\n if (Convert.ToBoolean(HttpContext.Current.Session["TransactionStarted"]))\n {\n //Traverse the cart line\n for (int i = 0; i < cartLine.Count; i++)\n {\n //for each product in the cart line decrease inventory\n if (cartLine[i].Product.Stock > 0)\n {\n //here decreasing inventory\n (cartLine[i].Product.Stock) -= (cartLine[i].Quantity);\n\n //Advice that entity has changed\n db.Entry(cartLine[i].Product).State = EntityState.Modified; //offending line\n db.SaveChanges();\n\n strOut = "Order Processed!";\n }\n else\n {\n strOut = "Order cancelled, Stock missing!";\n\n }\n }\n\n …
Run Code Online (Sandbox Code Playgroud)