解析したテキストファイルがあり、解析した結果をコレクションにロードします。解析が完了し、結果をコレクションオブジェクトにロードしました。
public class Results
{
List<Node> nodes = new List<Node>();
}
public class Node
{
public int id {get;set;}
public DateTime initiationDateTime {get;set;}
}
次のステップは、各リストアイテムを反復処理することであり、タイムスタンプの差が前の最小日時から30分を超える場合は、ユーザー選択として保存されます。たとえば、次のレコードセットから、ユーザーは次の選択肢をチェックボックスの形式で表示します。私が理解しようとしているのは、ユーザー選択リストを作成する方法だけです。ユーザー選択リストをユーザーに表示すると、ユーザーは選択内容をページに再投稿し、日付範囲に基づいて、選択した日付範囲内のレコードを処理します。
User Choices:
1/12/2012 10:09 - 1/12/2012 10:49
1/12/2012 13:25 - 1/12/2012 13:26
1/12/2012 15:30
Parsed List:
ID Test Initiation InitiationChoice CompletionChoice
1 1/12/2012 10:09 Yes
2 1/12/2012 10:09
3 1/12/2012 10:09
4 1/12/2012 10:09
5 1/12/2012 10:09
6 1/12/2012 10:09
7 1/12/2012 10:48
8 1/12/2012 10:48
9 1/12/2012 10:49
10 1/12/2012 10:49
11 1/12/2012 10:49
12 1/12/2012 10:49 Yes
13 1/12/2012 13:25 Yes
14 1/12/2012 13:25
15 1/12/2012 13:25
16 1/12/2012 13:25
17 1/12/2012 13:26
18 1/12/2012 13:26 Yes
19 1/12/2012 15:30 Yes
以下は、ユーザーの選択肢を作成するための私の試みです。これに関する提案をいただければ幸いです。
//First Minimum Date to start as i have already sorted this list based on date.
minimumDateTime = lf.Nodes.ElementAt(0).InitiationDate;
foreach (Node rb in lf.Nodes)
{
TimeSpan intervalMinutes = rb.InitiationDate.Subtract(minimumDateTime);
UserConfirmationErrors confirmationRun = new UserConfirmationErrors();
if (intervalMinutes.TotalMinutes >= 30)
{
//New Minimum Date/Time
minimumDateTime = rb.InitiationDate;
}
}