void realtimereceive_OnReceiveNOTE_UPLOAD_MOVEOBJECT_VEHICLE_PUDONG_DATA(Interop.Protocol tcp, Interop.NOTE_UPLOAD_MOVEOBJECT_VEHICLE_PUDONG_DATA obj)
        {
            string msg = string.Format("PlateNum:{1}," + Environment.NewLine
                                       + "PlateNumRow:{2}," + Environment.NewLine
                                       + "PlateColor:{3}," + Environment.NewLine
                                       + "VehicleType:{4}," + Environment.NewLine
                                       + "VehicleTypeDetail:{5}," + Environment.NewLine
                                       + "VehicleLabel:{6}," + Environment.NewLine
                                       + "VehicleLabelDetail:{7}," + Environment.NewLine
                                       , obj.CameraCode
                                       , obj.PlateNum
                                       , obj.PlateNumRow
                                       , obj.PlateColor
                                       , obj.VehicleType
                                       , obj.VehicleTypeDetail
                                       , obj.VehicleLabel
                                       , obj.VehicleLabelDetail
                                       );

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

            DataModel.TrafficePlateInfo info = new DataModel.TrafficePlateInfo()
            {
                PlateId            = DateTime.Now.Ticks,
                CameraCode         = obj.CameraCode,
                EndTime            = obj.EndTimeMilliSec,
                PlateColor         = obj.PlateColor,
                PlateNum           = obj.PlateNum,
                PlateNumRow        = (E_VDA_SEARCH_VEHICLE_PLATE_STRUCT_TYPE)obj.PlateNumRow,
                Reliability        = obj.PlateReliability,
                StartTime          = obj.BeginTimeMilliSec,
                VehicleLabel       = obj.VehicleLabel,
                VehicleLabelDetail = obj.VehicleLabelDetail,
                VehicleType        = (E_VDA_SEARCH_VEHICLE_TYPE)obj.VehicleType,
                VehicleTypeDetail  = (E_VDA_SEARCH_VEHICLE_DETAIL_TYPE)obj.VehicleTypeDetail,
                ObjId            = obj.ObjId,
                ObjImg           = obj.ObjImg,
                ObjRect          = obj.ObjRect,
                OriginalImage    = obj.OriginalImage,
                PlateImg         = obj.PlateImg,
                PlateRect        = obj.PlateRect,
                VehicleColorInfo = new List <uint>(),
            };
            foreach (var item in obj.VehicleColorInfo)
            {
                info.VehicleColorInfo.Add(item.VehicleColor);
            }
            if (OnPlateReceived != null)
            {
                OnPlateReceived(info);
            }
        }
        private void DoReceiveNOTE_UPLOAD_MOVEOBJECT_VEHICLE_PUDONG_DATA(XmlNode itemData)
        {
            DataModel.TrafficePlateInfo info           = new DataModel.TrafficePlateInfo();
            System.Xml.XmlNode          itemCameraCode = itemData.SelectSingleNode("CameraCode");
            info.CameraCode = itemCameraCode.InnerXml;
            System.Xml.XmlNode itemObjId = itemData.SelectSingleNode("ObjId");
            info.ObjId = Convert.ToUInt32(itemObjId.InnerXml);
            System.Xml.XmlNode itemBeginTimeMilliSec = itemData.SelectSingleNode("BeginTimeMilliSec");
            ulong BeginTimeMilliSec = Convert.ToUInt32(itemBeginTimeMilliSec.InnerXml);

            info.StartTime = DataModel.Common.ZEROTIME.AddMilliseconds(BeginTimeMilliSec);
            System.Xml.XmlNode itemEndTimeMilliSec = itemData.SelectSingleNode("EndTimeMilliSec");
            ulong EndTimeMilliSec = Convert.ToUInt32(itemEndTimeMilliSec.InnerXml);

            info.EndTime = DataModel.Common.ZEROTIME.AddMilliseconds(EndTimeMilliSec);
            System.Xml.XmlNode itemPlateNum = itemData.SelectSingleNode("PlateNum");
            info.PlateNum = itemPlateNum.InnerXml;
            System.Xml.XmlNode itemPlateReliability = itemData.SelectSingleNode("PlateReliability");
            info.Reliability = Convert.ToUInt32(itemPlateReliability.InnerXml);
            System.Xml.XmlNode itemPlateColor = itemData.SelectSingleNode("PlateColor");
            info.PlateColor = Convert.ToUInt32(itemPlateColor.InnerXml);
            System.Xml.XmlNode itemPlateNumRow = itemData.SelectSingleNode("PlateNumRow");
            info.PlateNumRow = (E_VDA_SEARCH_VEHICLE_PLATE_STRUCT_TYPE)Convert.ToUInt32(itemPlateNumRow.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 itemVehicleType = itemData.SelectSingleNode("VehicleType");
            info.VehicleType = (E_VDA_SEARCH_VEHICLE_TYPE)Convert.ToUInt32(itemVehicleType.InnerXml);
            System.Xml.XmlNode itemVehicleTypeDetail = itemData.SelectSingleNode("VehicleTypeDetail");
            info.VehicleTypeDetail = (E_VDA_SEARCH_VEHICLE_DETAIL_TYPE)Convert.ToUInt32(itemVehicleTypeDetail.InnerXml);

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

            info.VehicleColorInfo = new List <uint>();
            foreach (System.Xml.XmlNode item in list)
            {
                uint VehicleColor = Convert.ToUInt32(item.SelectSingleNode("VehicleColor").InnerXml);
                info.VehicleColorInfo.Add(VehicleColor);
            }
            int ObjRectX      = Convert.ToInt32(itemData.SelectSingleNode("ObjRectX").InnerXml);
            int ObjRectY      = Convert.ToInt32(itemData.SelectSingleNode("ObjRectY").InnerXml);
            int ObjRectWidth  = Convert.ToInt32(itemData.SelectSingleNode("ObjRectWidth").InnerXml);
            int ObjRectHeight = Convert.ToInt32(itemData.SelectSingleNode("ObjRectHeight").InnerXml);

            System.Drawing.Rectangle ObjRect = new System.Drawing.Rectangle(ObjRectX, ObjRectY, ObjRectWidth, ObjRectHeight);
            info.ObjRect = ObjRect;

            string itemObjImgBuffer = itemData.SelectSingleNode("ObjImgBuffer").InnerXml;

            info.ObjImg = new System.IO.MemoryStream(Convert.FromBase64String(itemObjImgBuffer));

            int PlateRectX      = Convert.ToInt32(itemData.SelectSingleNode("PlateRectX").InnerXml);
            int PlateRectY      = Convert.ToInt32(itemData.SelectSingleNode("PlateRectY").InnerXml);
            int PlateRectWidth  = Convert.ToInt32(itemData.SelectSingleNode("PlateRectWidth").InnerXml);
            int PlateRectHeight = Convert.ToInt32(itemData.SelectSingleNode("PlateRectHeight").InnerXml);

            System.Drawing.Rectangle PlateRect = new System.Drawing.Rectangle(PlateRectX, PlateRectY, PlateRectWidth, PlateRectHeight);
            info.PlateRect = PlateRect;

            string itemPlateImgBuffer = itemData.SelectSingleNode("PlateImgBuffer").InnerXml;

            info.PlateImg = new System.IO.MemoryStream(Convert.FromBase64String(itemPlateImgBuffer));

            string itemOriginalImageBuffer = itemData.SelectSingleNode("OriginalImageBuffer").InnerXml;

            info.OriginalImage = new System.IO.MemoryStream(Convert.FromBase64String(itemOriginalImageBuffer));

            info.PlateId = DateTime.Now.Ticks;

            if (OnPlateReceived != null)
            {
                OnPlateReceived(info);
            }
        }