private void DoReceiveNOTE_UPLOAD_TRAFFIC_EVENT(System.Xml.XmlNode itemData)
        {
            DataModel.TrafficeEventInfoV3_1 info = new DataModel.TrafficeEventInfoV3_1();
            System.Xml.XmlNode itemCameraCode    = itemData.SelectSingleNode("CameraCode");
            info.CameraCode = itemCameraCode.InnerXml;
            System.Xml.XmlNode itemEventType = itemData.SelectSingleNode("EventType");
            info.EventType = (DataModel.E_TRAFFIC_EVENT_TYPE)Convert.ToInt32(itemEventType.InnerXml);
            System.Xml.XmlNode itemStartTimeSec = itemData.SelectSingleNode("StartTimeSec");
            uint StartTimeSec = Convert.ToUInt32(itemStartTimeSec.InnerXml);

            System.Xml.XmlNode itemStartTimeMilliSec = itemData.SelectSingleNode("StartTimeMilliSec");
            uint StartTimeMilliSec = Convert.ToUInt32(itemStartTimeMilliSec.InnerXml);

            info.StartTime = DataModel.Common.ZEROTIME.AddSeconds(StartTimeSec).AddMilliseconds(StartTimeMilliSec);
            System.Xml.XmlNode itemEndTimeSec = itemData.SelectSingleNode("EndTimeSec");
            uint EndTimeSec = Convert.ToUInt32(itemEndTimeSec.InnerXml);

            System.Xml.XmlNode itemEndTimeMilliSec = itemData.SelectSingleNode("EndTimeMilliSec");
            uint EndTimeMilliSec = Convert.ToUInt32(itemEndTimeMilliSec.InnerXml);

            info.EndTime = DataModel.Common.ZEROTIME.AddSeconds(EndTimeSec).AddMilliseconds(EndTimeMilliSec);
            System.Xml.XmlNode itemObjRoadWayNum = itemData.SelectSingleNode("ObjRoadWayNum");
            info.ObjRoadWayNum = Convert.ToUInt32(itemObjRoadWayNum.InnerXml);

            var list = itemData.SelectNodes("DataInfoSet");

            info.EventImgInfo = new List <Tuple <System.Drawing.Rectangle, System.IO.MemoryStream> >();
            foreach (System.Xml.XmlNode item in list)
            {
                int itemEventObjCoordX        = Convert.ToInt32(item.SelectSingleNode("EventObjCoordX").InnerXml);
                int itemEventObjCoordY        = Convert.ToInt32(item.SelectSingleNode("EventObjCoordY").InnerXml);
                int itemEventObjWidth         = Convert.ToInt32(item.SelectSingleNode("EventObjWidth").InnerXml);
                int itemEventObjHeight        = Convert.ToInt32(item.SelectSingleNode("EventObjHeight").InnerXml);
                System.Drawing.Rectangle rect = new System.Drawing.Rectangle(itemEventObjCoordX, itemEventObjCoordY, itemEventObjWidth, itemEventObjHeight);

                string itemEventImg1Data      = item.SelectSingleNode("EventImg1Data").InnerXml;
                System.IO.MemoryStream stream = new System.IO.MemoryStream(Convert.FromBase64String(itemEventImg1Data));
                info.EventImgInfo.Add(new Tuple <System.Drawing.Rectangle, System.IO.MemoryStream>(rect, stream));
            }
            string ComposeImgData = itemData.SelectSingleNode("ComposeImgData").InnerXml;

            info.ComposeImgData = new System.IO.MemoryStream(Convert.FromBase64String(ComposeImgData));
            System.Xml.XmlNode itemEventVideoUrl = itemData.SelectSingleNode("EventVideoUrl");
            info.EventVideoUrl = itemEventVideoUrl.InnerXml;
            System.Xml.XmlNode itemReliability = itemData.SelectSingleNode("Reliability");
            info.Reliability = Convert.ToUInt32(itemReliability.InnerXml);
            System.Xml.XmlNode itemPlateNum = itemData.SelectSingleNode("PlateNum");
            info.PlateNum = itemPlateNum.InnerXml;
            System.Xml.XmlNode itemPlateNumRow = itemData.SelectSingleNode("PlateNumRow");
            info.PlateNumRow = (DataModel.E_VDA_SEARCH_VEHICLE_PLATE_STRUCT_TYPE)Convert.ToUInt32(itemPlateNumRow.InnerXml);
            System.Xml.XmlNode itemPlateColor = itemData.SelectSingleNode("PlateColor");
            info.PlateColor = Convert.ToUInt32(itemPlateColor.InnerXml);
            System.Xml.XmlNode itemVehicleColor = itemData.SelectSingleNode("VehicleColor");
            info.VehicleColor = Convert.ToUInt32(itemVehicleColor.InnerXml);
            System.Xml.XmlNode itemVehicleType = itemData.SelectSingleNode("VehicleType");
            info.VehicleType = (DataModel.E_VDA_SEARCH_VEHICLE_TYPE)Convert.ToUInt32(itemVehicleType.InnerXml);
            System.Xml.XmlNode itemVehicleTypeDetail = itemData.SelectSingleNode("VehicleTypeDetail");
            info.VehicleTypeDetail = (DataModel.E_VDA_SEARCH_VEHICLE_DETAIL_TYPE)Convert.ToUInt32(itemVehicleTypeDetail.InnerXml);
            System.Xml.XmlNode itemVehicleLabel = itemData.SelectSingleNode("VehicleLabel");
            info.VehicleLabel = Convert.ToUInt32(itemVehicleLabel.InnerXml);
            System.Xml.XmlNode itemVehicleLabelDetail = itemData.SelectSingleNode("VehicleLabelDetail");
            info.VehicleLabelDetail = Convert.ToUInt32(itemVehicleLabelDetail.InnerXml);
            System.Xml.XmlNode itemVehicleSpeed = itemData.SelectSingleNode("VehicleSpeed");
            info.VehicleSpeed = Convert.ToUInt32(itemVehicleSpeed.InnerXml);
            System.Xml.XmlNode itemDirection = itemData.SelectSingleNode("Direction");
            info.Direction = (DataModel.E_VDA_VEHICLE_DRIVE_DIRECTION_TYPE)Convert.ToUInt32(itemDirection.InnerXml);

            if (OnTrafficEventReceived != null)
            {
                OnTrafficEventReceived(info);
            }
        }
        void realtimereceive_OnReceiveNOTE_UPLOAD_TRAFFIC_EVENT(Interop.Protocol tcp, Interop.NOTE_UPLOAD_TRAFFIC_EVENT obj)
        {
            string msg = string.Format("EventType:{1}," + Environment.NewLine
                                       + "StartTime:{2}," + Environment.NewLine
                                       + "EndTime:{3}," + Environment.NewLine
                                       + "ObjRoadWayNum:{4}," + Environment.NewLine
                                       + "EventImgInfo.Count:{5}," + Environment.NewLine
                                       + "Reliability:{6}," + Environment.NewLine
                                       + "PlateNum:{7}," + Environment.NewLine
                                       + "PlateNumRow:{8}," + Environment.NewLine
                                       + "PlateColor:{9}," + Environment.NewLine
                                       + "VehicleColor:{10}," + Environment.NewLine
                                       + "VehicleType:{11}," + Environment.NewLine
                                       + "VehicleTypeDetail:{12}," + Environment.NewLine
                                       + "VehicleLabel:{13}," + Environment.NewLine
                                       + "VehicleLabelDetail:{14}," + Environment.NewLine
                                       + "VehicleSpeed:{15}," + Environment.NewLine
                                       + "Direction:{16}," + Environment.NewLine
                                       , obj.CameraCode
                                       , obj.EventType
                                       , obj.StartTime
                                       , obj.EndTime
                                       , obj.ObjRoadWayNum
                                       , obj.EventImgInfo.Count
                                       , obj.Reliability
                                       , obj.PlateNum
                                       , obj.PlateNumRow
                                       , obj.PlateColor
                                       , obj.VehicleColor
                                       , obj.VehicleType
                                       , obj.VehicleTypeDetail
                                       , obj.VehicleLabel
                                       , obj.VehicleLabelDetail
                                       , obj.VehicleSpeed
                                       , obj.Direction
                                       );

            MyLog4Net.Container.Instance.Log.Debug(msg);

            DataModel.TrafficeEventInfoV3_1 info = new DataModel.TrafficeEventInfoV3_1()
            {
                ComposeImgURL      = "",
                EventId            = DateTime.Now.Ticks,
                EventImgURLInfo    = new List <Tuple <System.Drawing.Rectangle, string> >(),
                CameraCode         = obj.CameraCode,
                ComposeImgData     = obj.ComposeImg,
                Direction          = (E_VDA_VEHICLE_DRIVE_DIRECTION_TYPE)obj.Direction,
                EndTime            = obj.EndTime,
                EventImgInfo       = new List <Tuple <System.Drawing.Rectangle, System.IO.MemoryStream> >(),
                EventType          = (E_TRAFFIC_EVENT_TYPE)obj.EventType,
                EventVideoUrl      = obj.EventVideoUrl,
                ObjRoadWayNum      = obj.ObjRoadWayNum,
                PlateColor         = obj.PlateColor,
                PlateNum           = obj.PlateNum,
                PlateNumRow        = (E_VDA_SEARCH_VEHICLE_PLATE_STRUCT_TYPE)obj.PlateNumRow,
                Reliability        = obj.Reliability,
                StartTime          = obj.StartTime,
                VehicleColor       = obj.VehicleColor,
                VehicleLabel       = obj.VehicleLabel,
                VehicleLabelDetail = obj.VehicleLabelDetail,
                VehicleSpeed       = obj.VehicleSpeed,
                VehicleType        = (E_VDA_SEARCH_VEHICLE_TYPE)obj.VehicleType,
                VehicleTypeDetail  = (E_VDA_SEARCH_VEHICLE_DETAIL_TYPE)obj.VehicleTypeDetail,
            };
            foreach (var item in obj.EventImgInfo)
            {
                info.EventImgInfo.Add(new Tuple <System.Drawing.Rectangle, System.IO.MemoryStream>(item.EventObjRect, item.EventImgData));
            }
            if (OnTrafficEventReceived != null)
            {
                OnTrafficEventReceived(info);
            }
        }