私は、スクリーンショットですべてのユーザーアクティビティを追跡するアプリケーションを持っています。私は問題を抱えているのですが、報告するうちに、ユーザーが特定の分野のキープレスイベントにどれくらいの時間を費やしているかを知りたいと思っています。 ここにサンプルデータがあります。linqのイベントタイプに基づいてgroupbyを実行
public class UserActivityData
{
[DisplayName("Process Name")]
public string ProcessName { get; set; }
[DisplayName("Window Title")]
public string WindowTitle { get; set; }
[DisplayName("Event Type")]
public EventType EventType { get; set; }
[DisplayName("Event Time")]
public string EventTime { get; set; }
[DisplayName("Total Time Spent In Secs")]
public string TotalTimeSpent { get; set; }
public int X { get; set; }
public int Y { get; set; }
[DisplayName("Capture Data")]
public string CaptureData { get; set; }
public string ApplicationPath { get; set; }
[DisplayName("Element Name")]
public string ElementName { get; set; }
[DisplayName("Automation ID")]
public string AutomationID { get; set; }
[DisplayName("Control Type")]
public string ControlType { get; set; }
public long LongEventTime { get; set; }
}
public enum EventType
{
RightClick,
LeftClick,
MiddleButton,
MouseMove,
DoubleClick,
KeyPress,
Copy,
Paste,
Focus,
Open,
Close,
FiddlerRequest
}
これは、データセットを保持するクラスです。
[{"ProcessName":"explorer","WindowTitle":"explorer","EventType":1,"EventTime":"28-Jul-2017 06:39:24","X":255,"Y":354,"CaptureData":"","ApplicationPath":"C:\\Windows\\Explorer.EXE","ElementName":"","AutomationID":"","ControlType":"list item","LongEventTime":636368639643087155},
{"ProcessName":"explorer","WindowTitle":"explorer","EventType":1,"EventTime":"28-Jul-2017 06:39:25","X":253,"Y":268,"CaptureData":"","ApplicationPath":"C:\\Windows\\Explorer.EXE","ElementName":"","AutomationID":"","ControlType":"list item","LongEventTime":636368639650818276},
{"ProcessName":"explorer","WindowTitle":"explorer","EventType":1,"EventTime":"28-Jul-2017 06:39:25","X":266,"Y":176,"CaptureData":"","ApplicationPath":"C:\\Windows\\Explorer.EXE","ElementName":"","AutomationID":"","ControlType":"list item","LongEventTime":636368639659717952},
{"ProcessName":"explorer","WindowTitle":"explorer","EventType":1,"EventTime":"28-Jul-2017 06:39:27","X":212,"Y":342,"CaptureData":"","ApplicationPath":"C:\\Windows\\Explorer.EXE","ElementName":"","AutomationID":"","ControlType":"list item","LongEventTime":636368639670828333},
{"ProcessName":"explorer","WindowTitle":"explorer","EventType":1,"EventTime":"28-Jul-2017 06:39:28","X":129,"Y":542,"CaptureData":"","ApplicationPath":"C:\\Windows\\Explorer.EXE","ElementName":"","AutomationID":"","ControlType":"list item","LongEventTime":636368639680374536},
{"ProcessName":"WinSCP","WindowTitle":"WinSCP","EventType":1,"EventTime":"28-Jul-2017 06:39:30","X":589,"Y":301,"CaptureData":"","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639705742531},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":5,"EventTime":"28-Jul-2017 06:39:31","X":589,"Y":301,"CaptureData":"r","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639714952510},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":5,"EventTime":"28-Jul-2017 06:39:31","X":589,"Y":301,"CaptureData":"a","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"r","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639716392533},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":5,"EventTime":"28-Jul-2017 06:39:31","X":589,"Y":301,"CaptureData":"v","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"ra","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639718522707},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":5,"EventTime":"28-Jul-2017 06:39:32","X":589,"Y":301,"CaptureData":"i","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"rav","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639720202589},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":5,"EventTime":"28-Jul-2017 06:39:32","X":589,"Y":301,"CaptureData":"k","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"ravi","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639722662623},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":5,"EventTime":"28-Jul-2017 06:39:32","X":589,"Y":301,"CaptureData":"a","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"ravik","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639724112642},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":5,"EventTime":"28-Jul-2017 06:39:32","X":589,"Y":301,"CaptureData":"n","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"ravika","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639725722813},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":5,"EventTime":"28-Jul-2017 06:39:32","X":589,"Y":301,"CaptureData":"t","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"ravikan","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639727382686},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":5,"EventTime":"28-Jul-2017 06:39:32","X":589,"Y":301,"CaptureData":"h","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"ravikant","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639728952705},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":5,"EventTime":"28-Jul-2017 06:39:34","X":589,"Y":301,"CaptureData":"\u0001","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"ravikanth","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639741393315},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":6,"EventTime":"28-Jul-2017 06:39:35","X":589,"Y":301,"CaptureData":"ravikanth","ApplicationPath":"","ElementName":"ravikanth","AutomationID":"1051654","ControlType":"edit","LongEventTime":636368639751728266},
{"ProcessName":"WinSCP","WindowTitle":"WinSCP","EventType":1,"EventTime":"28-Jul-2017 06:39:37","X":669,"Y":346,"CaptureData":"","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"","AutomationID":"7930456","ControlType":"edit","LongEventTime":636368639771735142},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":7,"EventTime":"28-Jul-2017 06:39:38","X":666,"Y":349,"CaptureData":"ravikanth","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"","AutomationID":"7930456","ControlType":"edit","LongEventTime":636368639780934311},
{"ProcessName":"WinSCP","WindowTitle":"WinSCP","EventType":1,"EventTime":"28-Jul-2017 06:39:39","X":762,"Y":356,"CaptureData":"","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"","AutomationID":"20186264","ControlType":"edit","LongEventTime":636368639792061233},
{"ProcessName":"WinSCP","WindowTitle":"Login","EventType":7,"EventTime":"28-Jul-2017 06:39:40","X":762,"Y":356,"CaptureData":"ravikanth","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"","AutomationID":"20186264","ControlType":"edit","LongEventTime":636368639805472017},
{"ProcessName":"WinSCP","WindowTitle":"WinSCP","EventType":1,"EventTime":"28-Jul-2017 06:39:47","X":673,"Y":239,"CaptureData":"","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"Session","AutomationID":"4262798","ControlType":"pane","LongEventTime":636368639876601809},
{"ProcessName":"WinSCP","WindowTitle":"WinSCP","EventType":1,"EventTime":"28-Jul-2017 06:39:48","X":671,"Y":255,"CaptureData":"","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"Drop Down Button","AutomationID":"DropDown","ControlType":"button","LongEventTime":636368639880488395},
{"ProcessName":"WinSCP","WindowTitle":"WinSCP","EventType":1,"EventTime":"28-Jul-2017 06:39:49","X":643,"Y":303,"CaptureData":"","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"WebDAV","AutomationID":"","ControlType":"list item","LongEventTime":636368639891350690},
{"ProcessName":"WinSCP","WindowTitle":"WinSCP","EventType":1,"EventTime":"28-Jul-2017 06:39:50","X":806,"Y":259,"CaptureData":"","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"No encryption","AutomationID":"5374814","ControlType":"combo box","LongEventTime":636368639903461809},
{"ProcessName":"WinSCP","WindowTitle":"WinSCP","EventType":1,"EventTime":"28-Jul-2017 06:39:51","X":791,"Y":277,"CaptureData":"","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"TLS/SSL Implicit encryption","AutomationID":"","ControlType":"list item","LongEventTime":636368639912755112},
{"ProcessName":"WinSCP","WindowTitle":"WinSCP","EventType":1,"EventTime":"28-Jul-2017 06:39:52","X":757,"Y":558,"CaptureData":"","ApplicationPath":"C:\\Program Files (x86)\\WinSCP\\WinSCP.exe","ElementName":"Close","AutomationID":"1509814","ControlType":"button","LongEventTime":636368639929011583}]
私は、イベントタイプKeyPressイベントに基づいてGROUPBYを行うためにLINQクエリを記述し、費やした時間の合計を取得するための助けが必要。
ねえ@raviは、あなたのデータセットをしてください保持するクラスを提供することができますか? – garfbradaz
'LongEventTime'はミリ秒単位またはティック単位で費やされる時間ですか? – Marco
LongEventTimeはTicksです.. –