2013-04-17 3 views
0

동일한 제품 ID를 가진 항목을 함께 그룹화 한 다음 장바구니의 항목에 해당 수량을 함께 추가하는 방법이 있습니다. 이제 장바구니에 추가하는 페이지의 수량을 추가하는 곳을 추가하려고합니다. 그래서이 방법에 대한 호출에서 총 수량에 더할 사용자가 선택한 productid와 수량을 보냅니다. 하지만이 문제에 관해서는이 방법으로 전송되는 항목과 함께 그룹화되는 항목의 제품 ID를 비교합니다.LINQ를 사용하여 루프에서 단일 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); 
     //} 
    } 
} 

누군가 포인터 나 아이디어를 제공 할 수 있다면 정말 고맙겠습니다. 더 많은 설명을 사용할 수 있다면 그렇게 할 수 있습니다. 또는 내가 사용하고있는 코드를 더보고 싶으면 추가 할 수 있습니다.

도움을 주실 수있는 분들께 고맙습니다.

답변

3

당신은 제품 ID별로 그룹화, 그래서 그룹의 Key입니다 :

foreach (var m in groupList) 
{      
    var productID = m.Key; 
    // The rest of your code. 
} 
+0

가 네이 내가 필요한 정확한 해답이 될 것입니다! 도와 줘서 고마워. 내가 생각했던 것 이상 이었어. –

관련 문제