2017-12-01 15 views
1

リスト内のすべてのLineSumの総計にTotalSumを設定するにはどうすればよいですか?ビューモデルの総計プロパティの値を設定する方法

これはショッピングカートで、リスト内の各商品(商品価格*数量)とショッピングカートの合計(lineSum1 + lineSum2 + lineSum3など)を計算する必要があります。

public class ViewModelShoppingCart 
{ 
    public string Title { get; set; } 
    [DataType(DataType.Date)] 
    public DateTime CreateDate { get; set; } 
    public List<ViewModelShoppingCartItem> ShoppingCartItems { get; set; } 
    public decimal TotalSum 
    { 
     set 
     { 
      // This clearly isn't working: 
      TotalSum = ShoppingCartItems.Sum(); 
     } 
    } 
} 

public class ViewModelShoppingCartItem 
{ 
    public string ProductTitle { get; set; } 
    public decimal ProductPrice { get; set; } 
    public int Quantity { get; set; } 
    public decimal LineSum 
    { 
     set 
     { 
      LineSum = ProductPrice * Quantity; 
     } 
    } 
} 

答えて

3

セレクタをとるoverload of Sumを使用します。

public decimal TotalSum => ShoppingCartItems.Sum(item => item.LineSum); 

ます。またViewModelShoppingCartItem.LineSum -propertyを修正する必要があります。

public class ViewModelShoppingCartItem 
{ 
    // ... 
    public decimal ProductPrice { get; set; } 
    public int Quantity { get; set; } 
    public decimal LineSum => ProductPrice * Quantity; 
} 
+0

これはStackOverflow noですか? 'return'で' get'する必要がありますか? – DavidG

+0

@DavidG:もう一度見よ) –

+0

ああ、私たちは同じトラックにいたと思うよ:) – DavidG

関連する問題