예제 #1
0
        private void btnReadHistoryData_Click(object sender, EventArgs e)
        {
            AppendText("【获取历史数据】开始");
            Thread t = new Thread(() =>
            {
                T_ReceiveData[] datas = DAL_ReceiveData.GetAllDatas();
                this.Invoke((MethodInvoker) delegate
                {
                    DataReceiveLogGrid.Rows.Clear();
                });
                foreach (T_ReceiveData item in datas)
                {
                    T_PathIdentifyEquip equip = Cache.PathIdEquips.Where(it => it.Id == item.EquipId).FirstOrDefault();
                    this.Invoke((MethodInvoker) delegate
                    {
                        int rowIndex                          = DataReceiveLogGrid.Rows.Add();
                        DataGridViewRow row                   = DataReceiveLogGrid.Rows[rowIndex];
                        row.Cells["colId"].Value              = item.EquipId;
                        row.Cells["colImageFullPath"].Value   = item.ImageAllPath;
                        row.Cells["colImageNear"].Value       = item.ImageNearPath;
                        row.Cells["colVehiclePlate"].Value    = item.ImagePlateNoPath;
                        row.Cells["colBinVehiclePlate"].Value = item.ImageBinPlateNoPath;
                        row.Cells["colEquipName"].Value       = equip == null ? "未知设备" : equip.EquipName;
                        row.Cells["colVehPlateNo"].Value      = item.VehPlateNo;
                        row.Cells["colVehPlateColor"].Value   = item.VehPlateColor;
                        row.Cells["colReachTime"].Value       = item.ReachTime.ToString();
                        row.Cells["colVehSpeed"].Value        = item.VehicleSpeed;
                    });
                }
                AppendText("【获取历史数据】完成");
            });

            t.IsBackground = true;
            t.Start();
        }
예제 #2
0
        private static void OnVehicleInfoNotify(object sender, VehicleInfoReceiveEventArgs arg)
        {
            string path = ImageSavePath + arg.Device.Id.ToString() + DateTime.Now.ToString("yyyyMMdd") + "\\";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string nameid = string.Format("{0}{1}", string.IsNullOrEmpty(arg.VehiclePlateNo) ? "无牌" : arg.VehiclePlateNo,
                                          arg.ReachTime.ToString("HHmmss"));

            T_ReceiveData data = new T_ReceiveData();

            data.EquipId = arg.Device.Id;

            #region 保存图片

            if (arg.PanoramaPhoto != null && arg.PanoramaPhoto.Length > 0)
            {
                string PanoramaPhotoPath = path + nameid + "_All.jpg";
                FileIOUtil.SaveFileByByteArray(PanoramaPhotoPath, arg.PanoramaPhoto);
                data.ImageAllPath = PanoramaPhotoPath;
            }
            if (arg.CloseShotPhoto != null && arg.CloseShotPhoto.Length > 0)
            {
                string CloseShotPhotoPath = path + nameid + "_Near.jpg";
                FileIOUtil.SaveFileByByteArray(CloseShotPhotoPath, arg.CloseShotPhoto);
                data.ImageNearPath = CloseShotPhotoPath;
            }

            if (arg.VehiclePlatePhoto != null && arg.VehiclePlatePhoto.Length > 0)
            {
                string VehiclePlatePhotoPath = path + nameid + "_VehiclePlate.jpg";
                FileIOUtil.SaveFileByByteArray(VehiclePlatePhotoPath, arg.VehiclePlatePhoto);
                data.ImagePlateNoPath = VehiclePlatePhotoPath;
            }

            if (arg.VehiclePlateBinPhoto != null && arg.VehiclePlateBinPhoto.Length > 0)
            {
                string BinVehiclePlatePhotoPath = path + nameid + "_Bin.jpg";
                FileIOUtil.SaveFileByByteArray(BinVehiclePlatePhotoPath, arg.VehiclePlateBinPhoto);
                data.ImageBinPlateNoPath = BinVehiclePlatePhotoPath;
            }

            #endregion 保存图片

            data.ReachTime     = arg.ReachTime;
            data.VehicleLength = arg.VehicleLength;
            data.VehicleSpeed  = arg.VehicleSpeed;
            data.VehPlateColor = string.IsNullOrEmpty(arg.VehiclePlateColor) ? "未知" : arg.VehiclePlateColor;
            data.VehPlateNo    = arg.VehiclePlateNo;
            DAL_ReceiveData.SaveReceiveData(data);
            arg.DbData = data;
            if (VehicleInfoReceiveNotifyHandler != null)
            {
                VehicleInfoReceiveNotifyHandler.Invoke(sender, arg);
            }
        }