private void BuildSessions(List <LogElementInfo> logElementInfos) { var dictSessions = new Dictionary <Guid, LRAPSession>(); foreach (var logElementInfo in logElementInfos) { LRAPSession session = null; if (!dictSessions.TryGetValue(logElementInfo.SessionGUID, out session)) { session = new LRAPSession() { GUID = logElementInfo.SessionGUID }; dictSessions.Add(logElementInfo.SessionGUID, session); } List <LRAPSessionElement> flows = null; var flowKey = LogTypeHelper.IsClientsideEvent(logElementInfo.LogType) ? LRAPSessionFlowType.Client : LRAPSessionFlowType.Server; if (!session.Flows.TryGetValue(flowKey, out flows)) { flows = new List <LRAPSessionElement>(); session.Flows.Add(flowKey, flows); } flows.Add(new LRAPSessionElement(session, logElementInfo)); } Sessions = dictSessions.Values.ToList(); SessionElementOrderedList = GetOrderedList(Sessions); var xxx = SessionElementOrderedList.Where(x => x.Any(y => y.LogElementInfo.LogType == LogType.OnKeyPress)).ToList(); }
public LRAPSessionElement(LRAPSession session, LogElementInfo logElementInfo) { this.Session = session; this.LogElementInfo = logElementInfo; }