static IEnumerable<LA_update1> DefineFlow(IEnumerable<LA_update> totalMessge) { var connLookup = dFlow.ToLookup(e => e.Value); //Dictionary<string, string> _dConn = new Dictionary<string, string>(); foreach (var i in connLookup) { //Console.WriteLine(i.Key); //Console.WriteLine(i.Select(e=>e.Key).Aggregate((total, next)=>total+next)); var nLst = i.Select(e => e.Key); //foreach (var n in nLst) // Console.WriteLine(n); var nFlow = totalMessge.Where(e => nLst.Contains(e.PacketNum)); nFlow = nFlow.OrderBy(e => e.PacketTime); //var sccp = nFlow.Where(e => e.ip_version_MsgType == "SCCP.Release Complete").FirstOrDefault(); //if (sccp != null) //{ foreach (var m in nFlow) { LA_update1 mFlow = new LA_update1(); //Console.WriteLine(m.ip_version_MsgType); mFlow.BeginFrameNum = m.BeginFrameNum; mFlow.DumpFor = m.DumpFor; mFlow.FileNum = m.FileNum; mFlow.imsi = m.imsi; mFlow.ip_version = m.ip_version; mFlow.ip_version_MsgType = m.ip_version_MsgType; mFlow.m3ua_dpc = m.m3ua_dpc; mFlow.m3ua_opc = m.m3ua_opc; mFlow.PacketNum = m.PacketNum; mFlow.PacketTime = m.PacketTime; mFlow.PacketTime_ms_ = m.PacketTime_ms_; mFlow.sccp_dlr = m.sccp_dlr; mFlow.sccp_slr = m.sccp_slr; mFlow.tmsi = m.tmsi; mFlow.opcdpcsccp = i.Key; yield return mFlow; } } }
static IEnumerable<LA_update1> DefineFlow(IEnumerable<LA_update> totalMessge) { var connLookup = dFlow.ToLookup(e => e.Value); foreach (var i in connLookup) { var nLst = i.Select(e => e.Key); var nFlow = totalMessge.Where(e => nLst.Contains(e.PacketNum)); nFlow = nFlow.OrderBy(e => e.PacketTime); foreach (var m in nFlow) { LA_update1 mFlow = new LA_update1(); mFlow.BeginFrameNum = m.BeginFrameNum; mFlow.DumpFor = m.DumpFor; mFlow.FileNum = m.FileNum; mFlow.imsi = m.imsi; mFlow.ip_version = m.ip_version; mFlow.ip_version_MsgType = m.ip_version_MsgType; mFlow.m3ua_dpc = m.m3ua_dpc; mFlow.m3ua_opc = m.m3ua_opc; mFlow.PacketNum = m.PacketNum; mFlow.PacketTime = m.PacketTime; mFlow.PacketTime_ms_ = m.PacketTime_ms_; mFlow.sccp_dlr = m.sccp_dlr; mFlow.sccp_slr = m.sccp_slr; mFlow.tmsi = m.tmsi; mFlow.opcdpcsccp = i.Key; yield return mFlow; } } }