private void SavePicture(CameraAlarmJson camera, Bll bll, int mode) { byte[] byte1 = camera.Json; string json = Encoding.UTF8.GetString(byte1); CameraAlarmInfo info = CameraAlarmInfo.Parse(json); info.time = GetDataTime(info.time_stamp); info.id = camera.Id; //增加了id,这样能够获取到详情 //int mode = AppSetting.CameraAlarmPicSaveMode; string base64 = info.pic_data; if (!string.IsNullOrEmpty(base64)) { info.pic_data = ""; //图片分开存 string json2 = JsonConvert.SerializeObject(info); //新的没有图片的json camera.Json = Encoding.UTF8.GetBytes(json2); bll.CameraAlarmJsons.Edit(camera); SavePicture(bll, mode, base64, info.pic_name); SaveJsonToFile(info.time_stamp, json2); } else { Log.Info("没有图片"); SaveJsonToFile(info.time_stamp, json); } }
private bool SaveToCameraAlarmJson(string json) { byte[] byte1 = Encoding.UTF8.GetBytes(json); CameraAlarmJson camera = new CameraAlarmJson(); camera.Json = byte1; bool result = db.CameraAlarmJsons.Add(camera);//存到数据库中 return(result); }
public void AlarmSaveToJson(CameraAlarmJson camera) { byte[] byte1 = camera.Json; string json = Encoding.UTF8.GetString(byte1); CameraAlarmInfo info = CameraAlarmInfo.Parse(json); info.id = camera.Id; //增加了id,这样能够获取到详情 string pic = info.pic_data; DateTime now = GetDataTime(info.time_stamp); FileInfo fi = CameraAlarmService.GetJsonFile(now); }
private void btnSave_Click(object sender, RoutedEventArgs e) { try { CameraAlarmInfo camera = this.info; camera.AlarmType = int.Parse(txtAlarmType.Text); CameraAlarmJson cameraJson = new CameraAlarmJson(); cameraJson.Id = camera.id; string json = JsonConvert.SerializeObject(camera); cameraJson.Json = Encoding.UTF8.GetBytes(json); BLL.Bll bll = BLL.Bll.NewBllNoRelation(); bll.CameraAlarmJsons.Edit(cameraJson); } catch (Exception ex) { Log.Info("saveCameraJson:" + ex.ToString()); } }
private CameraAlarmInfo GetCamaraAlarmInfo(CameraAlarmJson camera, Dictionary <string, Dev_CameraInfo> cameraDict, Dictionary <int, DevInfo> devs) { try { byte[] byte1 = camera.Json; string json = Encoding.UTF8.GetString(byte1); int id = camera.Id; CameraAlarmInfo cameraAlarmInfo = CameraAlarmInfo.Parse(json); cameraAlarmInfo.id = camera.Id; //增加了id,这样能够获取到详情 cameraAlarmInfo.pic_data = ""; //在详情的地方获取 cameraAlarmInfo.data = null; cameraAlarmInfo.time = GetDataTime(cameraAlarmInfo.time_stamp); string ip = GetCameraIp(cameraAlarmInfo.cid_url); cameraAlarmInfo.DevIp = ip; if (cameraDict.ContainsKey(ip)) { var camerainfo = cameraDict[ip]; if (devs.ContainsKey(camerainfo.DevInfoId)) { cameraAlarmInfo.DevName = devs[camerainfo.DevInfoId].Name; cameraAlarmInfo.DevID = camerainfo.DevInfoId; } } else { } return(cameraAlarmInfo); } catch (System.Exception ex) { Log.Error(LogTags.ExtremeVision, "GetCamaraAlarmInfo", ex.ToString()); return(null); } }
/// <summary> /// 获取一个告警的详情 主要是告警图片 /// </summary> /// <param name="id"></param> /// <returns></returns> public CameraAlarmInfo GetCameraAlarmDetail(int id) { try { CameraAlarmJson camera = db.CameraAlarmJsons.Find(id); if (camera == null) { return(null); } byte[] byte1 = camera.Json; string json = Encoding.UTF8.GetString(byte1); CameraAlarmInfo cameraAlarmInfo = CameraAlarmInfo.Parse(json); cameraAlarmInfo.id = camera.Id;//增加了id,这样能够获取到详情 cameraAlarmInfo.time = GetDataTime(cameraAlarmInfo.time_stamp); GetCameraAlarmPicture(cameraAlarmInfo); return(cameraAlarmInfo); } catch (System.Exception ex) { Log.Error(LogTags.ExtremeVision, "GetCameraAlarmDetail", ex.ToString()); return(null); } }
/// <summary> /// 保存Json到文件中,同时从告警表分离到图片表或者文件中 /// </summary> /// <param name="callBack"></param> public void SeparateImages(Action callBack, int mode, int progressBagCount = 5) { Log.Info(LogTags.ExtremeVision, "开始 保存Json到文件中,同时从告警表分离到图片表或者文件中"); Worker.Run(() => { //int progressBagCount = 5; bool r = true; while (r) { try { LocationService s = new LocationService(); //var list=s.GetAllCameraAlarms(true); var bll = Bll.NewBllNoRelation(); int count = bll.CameraAlarmJsons.DbSet.Count(); Log.Info("count:" + count); List <CameraAlarmJson> list2 = bll.CameraAlarmJsons.ToList(); Log.Info(LogTags.ExtremeVision, "获取到列表"); if (list2 != null) { Log.Info(LogTags.ExtremeVision, "成功"); for (int i1 = 0; i1 < list2.Count; i1++) { if (i1 % progressBagCount == 0) { Log.Info(LogTags.ExtremeVision, string.Format("进度:{0}/{1}", i1, list2.Count)); } CameraAlarmJson camera = list2[i1]; SavePicture(camera, bll, mode); } } else { Log.Info(LogTags.ExtremeVision, "失败"); Log.Info(LogTags.ExtremeVision, "太多了取不出来,一个一个取"); for (int i = 0; i < count; i++) { if (i % progressBagCount == 0) { Log.Info(LogTags.ExtremeVision, string.Format("进度:{0}/{1}", i, count)); } CameraAlarmJson camera = bll.CameraAlarmJsons.Find(i + 1); if (camera == null) { Log.Info("找不到id:" + (i + 1)); continue; } SavePicture(camera, bll, mode); } } Log.Info(LogTags.ExtremeVision, "完成"); r = false;//真的完成 } catch (Exception exception) { Log.Error(LogTags.ExtremeVision, exception.Message); } } }, () => { if (callBack != null) { callBack(); } }); }