2017-11-10 10 views
-1

データベース選択から作成されたリストがあります。これには、各行にタイムスタンプとユーザー名が含まれています。C#それを繰り返す間にリストに追加

私はそれぞれの結果を分析し、データベースのタイムスタンプと現在の時刻との時間差を計算します。

この情報を元のリストに書き込む必要があります。そのため、画面上に完全に表示することは可能ですか?

2つのリストが必要ですか?

コード私が持っている:

public ActionResult Index() 
    { 

     DateTime now = DateTime.UtcNow; 

     var ideaTL = _context.IdeaTimelines 
      .OrderByDescending(c => c.Timestamp) 
      .ToList(); 


     viewModel.IdeaTimeLine = ideaTL; 


     foreach (var users in ideaTL) 
     { 

       var diffInDays = Math.Floor((now - users.Timestamp).TotalDays); 
       var diffInHours = Math.Floor((now - users.Timestamp).TotalHours) - ((diffInDays) * 24); 

       viewModel.DaysAgo = diffInDays; 
       viewModel.HoursAgo = diffInHours; 

     } 

     return View(viewModel); 
    } 

ideaTLは、私はその後、各貫通を表示することができますのためのリストですが、私は唯一保存されているものの一つを取得するので、ViewModelに変数がリストではありません、おそらくそれがされていますループで上書きされます。彼らはリストとして、またはideaTLリストの中に格納できますか?

これができない場合は、別の方法、つまり別のリストが必要ですか?

+0

アイテムがどのようなタイプの情報でも情報を保存できる場合は、そうすることができます。これはリストを変更するものではなく、メンバーだけです。だから問題ないはずです。 – Fildor

+0

問題は、ビューのリストを介在するときです。つまり、ideaTLのリスト項目はすべて保存されていますが、ViewModelには値が1つしかありません。 – davidjwest

+0

あなたはviewmodelクラスとそのビューモデルで使用される他のクラスを提供できますか? – Shah

答えて

0

私は私がやることについてコメントするのに十分な担当者がいないので、おそらくこのために下落していくつもりです......しかし、これらをリストモデルに追加すると、.Select()この追加情報を添付してください。 .Selectにチェーンすると、.Select(m =>新しいyourobject {normalprop = data、customprop =アイテムを取り込んでpropを返す})のようなものになります。

関連する問題