| | |
| | | /// </summary>
|
| | | private string oldDeviceAlarmFile = string.Empty; |
| | | |
| | | #endregion |
| | |
|
| | | #region ■ 报警信息上报事件___________________
|
| | |
|
| | | /// <summary>
|
| | | /// 添加报警信息上报事件(不需要再执行任何操作,并且永久存在)
|
| | | /// </summary>
|
| | | public void AddAlarmInfoEvent()
|
| | | {
|
| | | //安防设备上报
|
| | | HdlDeviceAttributeLogic.Current.AddAttributeEvent("SaveSafetyAlarmInfo", "IASInfoReport", (device)=>
|
| | | { |
| | | if (HdlGatewayLogic.Current.IsGatewayExist(device.CurrentGateWayId) == true) |
| | | { |
| | | //保存安防报警信息到本地 |
| | | this.SaveSafeguardAlarmInfo(device); |
| | | } |
| | | });
|
| | | } |
| | | |
| | | #endregion
|
| | | |
| | | #region ■ 重新刷新报警信息___________________
|
| | |
| | |
|
| | | //限制它的长度
|
| | | this.listSafetyAlarmInfo.Insert(0, data);
|
| | | if (this.listSafetyAlarmInfo.Count > UserCenterResourse.SafetyOnedayMaxAlarmMsgCount)
|
| | | if (this.listSafetyAlarmInfo.Count > UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
|
| | | {
|
| | | this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
|
| | | }
|
| | |
| | | var byteData = System.Text.Encoding.UTF8.GetBytes(saveData);
|
| | | string dir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardAlarmDirectory);
|
| | | Global.WriteFileToDirectoryByBytes(dir, fileName, byteData);
|
| | |
|
| | | if (UserCenterResourse.DicActionForm.ContainsKey("SafetyManagementMainForm") == true)
|
| | | {
|
| | | var form = (Phone.UserCenter.Safety.SafetyManagementMainForm)UserCenterResourse.DicActionForm["SafetyManagementMainForm"];
|
| | | form?.AddSafeguardLogPushRow(device);
|
| | | }
|
| | | return true;
|
| | | }
|
| | | }
|
| | |
| | | /// </summary>
|
| | | /// <param name="garrison">布防模式</param>
|
| | | /// <param name="appendText">附加文本</param>
|
| | | /// <param name="push">是否推送到安防主界面</param>
|
| | | public void SaveSafeguardAlarmInfo(GarrisonMode garrison, string appendText = "", bool push = false)
|
| | | public void SaveSafeguardAlarmInfo(GarrisonMode garrison, string appendText = "")
|
| | | {
|
| | | if (garrison == GarrisonMode.None)
|
| | | {
|
| | |
| | |
|
| | | //限制它的长度
|
| | | this.listSafetyAlarmInfo.Insert(0, data);
|
| | | if (this.listSafetyAlarmInfo.Count > UserCenterResourse.SafetyOnedayMaxAlarmMsgCount)
|
| | | if (this.listSafetyAlarmInfo.Count > UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
|
| | | {
|
| | | this.listSafetyAlarmInfo.RemoveAt(this.listSafetyAlarmInfo.Count - 1);
|
| | | }
|
| | |
| | | var byteData = System.Text.Encoding.UTF8.GetBytes(saveData);
|
| | | string dir = System.IO.Path.Combine(DirNameResourse.LocalMemoryDirectory, DirNameResourse.SafeguardAlarmDirectory);
|
| | | Global.WriteFileToDirectoryByBytes(dir, fileName, byteData);
|
| | |
|
| | | //推送
|
| | | if (push == true)
|
| | | {
|
| | | if (UserCenterResourse.DicActionForm.ContainsKey("SafetyManagementMainForm") == true)
|
| | | {
|
| | | var form = (Phone.UserCenter.Safety.SafetyManagementMainForm)UserCenterResourse.DicActionForm["SafetyManagementMainForm"];
|
| | | form?.AddSafeguardLogPushRow(null);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | var listInfo = new List<SafeguardAlarmInfo>();
|
| | | for (int j = 0; j < info.Count; j++)
|
| | | {
|
| | | if (j == UserCenterResourse.SafetyOnedayMaxAlarmMsgCount)
|
| | | if (j == UserCenterResourse.Option.SafetyOnedayMaxAlarmMsgCount)
|
| | | {
|
| | | //每天最多三十条数据
|
| | | break;
|
| | |
| | | }
|
| | | dic[listFile[i]] = listInfo;
|
| | |
|
| | | if (dic.Count == UserCenterResourse.SafetyMaxAlarmMsgDay)
|
| | | if (dic.Count == UserCenterResourse.Option.SafetyMaxAlarmMsgDay)
|
| | | {
|
| | | //只要三天的量
|
| | | break;
|
| | |
| | | |
| | | #endregion |
| | | |
| | | |
| | | |
| | | #region ■ 门锁报警保存_______________________
|
| | | |
| | | /// <summary>
|
| | |
| | |
|
| | | //限制它的长度
|
| | | this.listDoorLockAlarmInfo.Insert(0, msgInfo);
|
| | | if (this.listDoorLockAlarmInfo.Count > UserCenterResourse.DoorLockOnedayMaxAlarmMsgCount)
|
| | | if (this.listDoorLockAlarmInfo.Count > UserCenterResourse.Option.DoorLockOnedayMaxAlarmMsgCount)
|
| | | {
|
| | | this.listDoorLockAlarmInfo.RemoveAt(this.listDoorLockAlarmInfo.Count - 1);
|
| | | }
|
| | |
| | | var listInfo = new List<DeviceAlarmInfo>();
|
| | | for (int j = 0; j < info.Count; j++)
|
| | | {
|
| | | if (j == UserCenterResourse.DoorLockOnedayMaxAlarmMsgCount)
|
| | | if (j == UserCenterResourse.Option.DoorLockOnedayMaxAlarmMsgCount)
|
| | | {
|
| | | //每天最多三十条数据
|
| | | break;
|
| | |
| | | }
|
| | | dic[listFile[i]] = listInfo;
|
| | |
|
| | | if (dic.Count == UserCenterResourse.DoorLockMaxAlarmMsgDay)
|
| | | if (dic.Count == UserCenterResourse.Option.DoorLockMaxAlarmMsgDay)
|
| | | {
|
| | | //只要三天的量
|
| | | break;
|
| | |
| | | /// </summary>
|
| | | /// <param name="jobject"></param>
|
| | | /// <returns></returns>
|
| | | private DeviceAlarmInfo GetDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject)
|
| | | public DeviceAlarmInfo GetDoorLockAlarmInfo(Newtonsoft.Json.Linq.JObject jobject)
|
| | | {
|
| | | var info = (DoorLockAlarmsResult)JsonConvert.DeserializeObject<DoorLockAlarmsResult>(jobject["Data"].ToString());
|
| | | var alarmInfo = new DeviceAlarmInfo();
|
| | |
| | | //暴力开门 |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg5); |
| | | } |
| | | else if (info.AlarmCode == 16) |
| | | else if (info.AlarmCode == 116) |
| | | { |
| | | //常开模式开启 |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg6); |
| | | } |
| | | else if (info.AlarmCode == 17) |
| | | else if (info.AlarmCode == 117) |
| | | { |
| | | //常开模式结束 |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg7); |
| | | } |
| | | else if (info.AlarmCode == 32) |
| | | else if (info.AlarmCode == 132) |
| | | { |
| | | //门铃触发 |
| | | alarmInfo.AlarmMsg = Language.StringByID(R.MyInternationalizationString.uDoorLockAlarmMsg8); |