0

我有一种方法可以将具有相同 productID 的商品组合在一起,然后将它们的数量加在一起以获取购物车中的商品。现在我正在尝试添加它,它还添加了从添加到购物车的页面中的数量。因此,在调用此方法时,我会发送用户选择的 productid 和数量以添加到总数量中。但是我遇到的问题是比较发送到此方法的项目的产品 ID 和组合在一起的产品 ID。

这是我下面的内容,评论部分是我试图解决这个问题但发现我的想法是错误的。

double totalQty = 0;
bool isQtyValid = true;

List<ShoppingCartDTO> shoppingList = ShoppingCart.Fetch(string.Format("WHERE SessionID='{0}'", sessionID)); 
foreach (ShoppingCartDTO temp in shoppingList)
 {
    var groupList = shoppingList.GroupBy(item => item.ProductID);
    foreach (var m in groupList)
     {                    
        //var productID = m.Select(p => p.ProductID);
        //int prodID = Convert.ToInt32(productID);
        //if (ProductID == prodID)
        //{
             var sum = m.Sum(i => i.Quantity);
             totalQty = sum;
             //totalQty += qty;
             isQtyValid = CheckQty(totalQty, temp.ProductID, temp.CustomerID);
        //}
     }
 }

如果有人可以提供一些指示或想法,我将不胜感激。如果它可以使用更多解释,我也可以这样做,或者如果您想查看我正在使用的更多代码,我也可以添加。

感谢任何可以提供帮助的人。

4

1 回答 1

3

您按产品 ID 分组,因此它属于Key您的组:

foreach (var m in groupList)
{                    
    var productID = m.Key;
    // The rest of your code.
}
于 2013-04-17T14:19:19.183 回答