From 3dcbd186c42c598c0c08d1cd37034cf2baa09e54 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 30 十二月 2019 15:47:51 +0800 Subject: [PATCH] 合并了代码 --- ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs | 634 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 520 insertions(+), 114 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs index 7197147..cf149a7 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs @@ -1,6 +1,9 @@ -锘縰sing System; +锘縰sing Newtonsoft.Json.Linq; +using System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; +using ZigBee.Device; namespace Shared.Phone.UserCenter.UserMain { @@ -29,6 +32,8 @@ /// </summary> public void ShowForm() { + Common.CommonPage.Instance.IsDrawerLockMode = true; + //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uMessageCenter)); @@ -64,70 +69,106 @@ { //鑾峰彇鏁版嵁 var dicData = await this.GetMessageData(); - //鍏抽棴杩涘害鏉� - this.CloseProgressBar(dicData == null && showReload == true ? ShowReLoadMode.YES : ShowReLoadMode.NO); - - HdlThreadLogic.Current.RunMain(() => - { - //鍏抽棴鍒锋柊鐗规晥 - listView?.EndHeaderRefreshing(); - }); if (dicData == null) { + if (showReload == true) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(ShowReLoadMode.YES); + } + else + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + } + HdlThreadLogic.Current.RunMain(() => + { + //鍏抽棴鍒锋柊鐗规晥 + listView?.EndHeaderRefreshing(); + //娓呯┖ + listView.RemoveAll(); + }); //鏁版嵁寮傚父 return; } - HdlThreadLogic.Current.RunMain(() => - { - //鍒濆鍖栦腑閮ㄦ帶浠� - this.InitMiddleFrame(dicData); - }); + + //鍒濆鍖栦腑閮ㄦ帶浠� + this.InitMiddleFrame(dicData); } /// <summary> - /// 鍒濆鍖栦腑閮ㄦ帶浠� + /// 鍒濆鍖栦腑閮ㄦ帶浠�(瑕佷娇鐢ㄧ嚎绋嬭皟鐢�) /// </summary> /// <param name="dicData"></param> - private void InitMiddleFrame(Dictionary<string, List<MessageRecordInfo>> dicData) + private void InitMiddleFrame(Dictionary<string, List<List<MessageRecordInfo>>> dicData) { - //娓呯┖ - listView.RemoveAll(); + int dateIndex = 0; + FrameListControl framBack = null; + string oldKeys = string.Empty; - int index = 0; + int maxCount = 0; + int countIndex = 0; + foreach (var data in dicData.Values) + { + //鑾峰彇寰幆鐨勬�绘鏁� + maxCount += data.Count; + } + + int waiTime = 1000; foreach (var keys in dicData.Keys) { - var listData = dicData[keys]; - index++; - //瀹瑰櫒 - var framBack = new FrameListControl(23); - framBack.Name = index.ToString(); - framBack.Height = Application.GetRealHeight(100); - framBack.BackgroundColor = UserCenterColor.Current.White; - listView.AddChidrenFrame(framBack); - - //鏃ユ湡 - string strMonth = Language.StringByID(R.MyInternationalizationString.Month); - string strDate = Language.StringByID(R.MyInternationalizationString.Day); - var frameDate = new FrameLayout(); - frameDate.Height = Application.GetRealHeight(118); - framBack.AddChidren(frameDate); - var btnDate = new NormalViewControl(500, 60, true); - btnDate.TextSize = 15; - btnDate.X = ControlCommonResourse.XXLeft; - btnDate.Y = Application.GetRealHeight(35); - btnDate.Text = Convert.ToDateTime(listData[0].MsgTime).ToString("MM" + strMonth + "dd" + strDate); - frameDate.AddChidren(btnDate); - - for (int i = 0; i < listData.Count; i++) + var listGroup = dicData[keys]; + foreach (var listData in listGroup) { - //娣诲姞淇℃伅琛� - this.AddMsgRowControl(framBack, listData[i], i != listData.Count - 1); - } - //璋冩暣楂樺害 - listView.AdjustChidrenFrameHeight(framBack, Application.GetRealHeight(23)); - if (index == dicData.Count) - { - listView.AdjustTableHeight(); + HdlThreadLogic.Current.RunMain(() => + { + countIndex++; + //褰撴棩鏈熶笉涓�鏍锋椂,閲嶆柊寤虹珛妗屽竷 + if (oldKeys != keys) + { + oldKeys = keys; + dateIndex++; + //瀹瑰櫒 + framBack = new FrameListControl(23); + framBack.Name = dateIndex.ToString(); + framBack.Height = Application.GetRealHeight(100); + framBack.BackgroundColor = UserCenterColor.Current.White; + listView.AddChidrenFrame(framBack); + + //鏃ユ湡 + string strMonth = Language.StringByID(R.MyInternationalizationString.Month); + string strDate = Language.StringByID(R.MyInternationalizationString.Day); + var frameDate = new FrameLayout(); + frameDate.Height = Application.GetRealHeight(118); + framBack.AddChidren(frameDate); + var btnDate = new NormalViewControl(500, 60, true); + btnDate.TextSize = 15; + btnDate.X = ControlCommonResourse.XXLeft; + btnDate.Y = Application.GetRealHeight(35); + btnDate.Text = Convert.ToDateTime(listGroup[0][0].CreatedOnUtc).ToString("MM" + strMonth + "dd" + strDate); + frameDate.AddChidren(btnDate); + } + + for (int i = 0; i < listData.Count; i++) + { + //娣诲姞淇℃伅琛� + this.AddMsgRowControl(framBack, listData[i], i != listData.Count - 1); + } + //璋冩暣楂樺害 + listView.AdjustChidrenFrameHeight(framBack, Application.GetRealHeight(23)); + if (countIndex == maxCount) + { + //璋冩暣妗屽竷 + listView.AdjustTableHeight(); + //鍏抽棴鍒锋柊鐗规晥 + listView.EndHeaderRefreshing(); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + } + }); + //绗竴娆$殑鏃跺�欙紝绛夊緟鐨勬椂鍊欎箙涓�鐐� + System.Threading.Thread.Sleep(waiTime); + waiTime = 500; } } } @@ -157,20 +198,25 @@ /// </summary> private void ShowBottomMenu() { + bool authority = UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2; + var menuContr = new BottomMenuSelectForm(); - menuContr.AddForm(2); + menuContr.AddForm(authority == true ? 2 : 1); //鍏ㄩ儴宸茶 menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uAllRead), () => { //璁剧疆鍏ㄩ儴涓哄凡璇� this.SetAllTickIsRead(); }); - //鍏ㄩ儴鍒犻櫎 - menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uAllDelete), () => + if (authority == true) { - //鍒犻櫎鍏ㄩ儴鐨勬秷鎭� - this.DeleteAllMsg(); - }); + //鍏ㄩ儴鍒犻櫎 + menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uAllDelete), () => + { + //鍒犻櫎鍏ㄩ儴鐨勬秷鎭� + this.DeleteAllMsg(); + }); + } } #endregion @@ -191,32 +237,22 @@ rowControl.MainKeys = recordInfo.Id; this.dicAllRow[frameList.Name + "-" + rowControl.Name] = rowControl; - //鍥炬爣(鐜板湪娴嬭瘯) + //鍥炬爣 var btnIcon = rowControl.frameTable.AddLeftIcon(81); - btnIcon.UnSelectedImagePath = "Item/Safety.png"; - + btnIcon.UnSelectedImagePath = recordInfo.IconPath; //娑堟伅绫诲瀷 - var btnMsgObject = rowControl.frameTable.AddLeftCaption("鎶ヨ娑堟伅", 600); - PicViewControl btnNewTip = null; - if (recordInfo.IsRead == 0) - { - btnNewTip = new PicViewControl(78, 55); - btnNewTip.UnSelectedImagePath = "Item/NewVersion.png"; - btnNewTip.Y = Application.GetRealHeight(9) + rowControl.frameTable.chidrenYaxis; - btnNewTip.X = btnMsgObject.X + btnMsgObject.GetRealWidthByText(14); - rowControl.frameTable.AddChidren(btnNewTip, ChidrenBindMode.BindEventOnly); - } + var btnMsgObject = rowControl.frameTable.AddLeftCaption(recordInfo.MsgObjectText, 600); //娑堟伅 - var btnMsg = rowControl.frameTable.AddMostRightView(recordInfo.MsgContent, 600, 60); + var btnMsg = rowControl.frameTable.AddMostRightView(recordInfo.MsgText, 600, 60); btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3; btnMsg.Y = Application.GetRealHeight(5) + rowControl.frameTable.chidrenYaxis; rowControl.frameTable.AddChidren(btnMsg, ChidrenBindMode.BindEventOnly); //鏃堕棿 - var btnTime = rowControl.frameTable.AddMostRightView(recordInfo.MsgContent, 200, 50); + var btnTime = rowControl.frameTable.AddMostRightView("", 200, 50); btnTime.TextColor = UserCenterColor.Current.TextGrayColor1; btnTime.Y = btnMsg.Bottom + Application.GetRealHeight(12); - btnTime.Text = Convert.ToDateTime(recordInfo.MsgTime).ToString("HH锛歮m"); + btnTime.Text = Convert.ToDateTime(recordInfo.CreatedOnUtc).ToString("HH锛歮m"); rowControl.frameTable.AddChidren(btnTime, ChidrenBindMode.BindEventOnly); //搴曠嚎 if (addLine == true) @@ -224,7 +260,7 @@ rowControl.frameTable.AddBottomLine(); } //宸茶 - if (recordInfo.IsRead == 1) + if (recordInfo.IsReading == true) { rowControl.frameTable.UseClickStatu = false; //娑堟伅绫诲瀷 @@ -232,26 +268,44 @@ //娑堟伅 btnMsg.TextColor = UserCenterColor.Current.TextGrayColor1; } - //鍒犻櫎 - var btnDelete = rowControl.AddDeleteControl(); - btnDelete.ButtonClickEvent += (sender, e) => + //璋冩暣瀹藉害 + btnMsgObject.Width = btnMsgObject.GetRealWidthByText(); + + //鏂版秷鎭� + PicViewControl btnNewTip = null; + if (recordInfo.IsReading == false) { - //纭鍒犻櫎娑堟伅? - string msg = Language.StringByID(R.MyInternationalizationString.uDeleteMessageMsg); - this.ShowMassage(ShowMsgType.Confirm, msg, async () => + btnNewTip = new PicViewControl(78, 55); + btnNewTip.UnSelectedImagePath = "Item/NewVersion.png"; + btnNewTip.Y = Application.GetRealHeight(9) + rowControl.frameTable.chidrenYaxis; + btnNewTip.X = btnMsgObject.Right + Application.GetRealWidth(10); + rowControl.frameTable.AddChidren(btnNewTip, ChidrenBindMode.BindEventOnly); + } + + //涓昏涓讳汉鍜岀鐞嗗憳鑳藉鍒犻櫎 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + //鍒犻櫎 + var btnDelete = rowControl.AddDeleteControl(); + btnDelete.ButtonClickEvent += (sender, e) => { - await this.DeleteMsg(recordInfo.Id, frameList, rowControl); - }); - }; + //纭鍒犻櫎娑堟伅? + string msg = Language.StringByID(R.MyInternationalizationString.uDeleteMessageMsg); + this.ShowMassage(ShowMsgType.Confirm, msg, async () => + { + await this.DeleteMsg(recordInfo.Id, frameList, rowControl); + }); + }; + } //鐐瑰嚮 rowControl.frameTable.ButtonClickEvent += async (sender, e) => { - if (recordInfo.IsRead == 1) + if (recordInfo.IsReading == true) { return; } - recordInfo.IsRead = 1; + recordInfo.IsReading = true; rowControl.frameTable.UseClickStatu = false; //娑堟伅绫诲瀷 btnMsgObject.TextColor = UserCenterColor.Current.TextGrayColor1; @@ -276,15 +330,11 @@ /// <param name="strId"></param> private async System.Threading.Tasks.Task<bool> SetTickIsRead(string strId) { - string strUrl = "ZigbeeUsers/TickIsRead?Id=" + strId; - - var result = await Common.CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(strUrl, null, "GET"); - if (result == null) - { - return UserCenterLogic.CheckNotEorrorMsg(null, "ZigbeeUsers/TickIsRead", null, null); - } - //浜戠鏄笉浼氳繑鍥炰笢瑗跨殑 - return true; + var pra = new MessageReadStatuPra(); + pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + pra.Id = strId; + var result = await UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/TagMessageMessageCenterItem", true, pra); + return result; } /// <summary> @@ -341,13 +391,15 @@ /// <param name="rowContr"></param> private async System.Threading.Tasks.Task<bool> DeleteMsg(string strId, FrameListControl frameList, RowLayoutControl rowContr) { - string strUrl = "ZigbeeUsers/DeletePushMessage?Id=" + strId; - - var result = await Common.CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(strUrl, null, "GET"); - if (result == null) + var pra = new MessageReadStatuPra(); + pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + pra.Id = strId; + var result = await UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/DelMessageCenterItem", true, pra); + if (result == false) { - return UserCenterLogic.CheckNotEorrorMsg(null, "ZigbeeUsers/DeletePushMessage", null, null); + return false; } + //浜戠鏄笉浼氳繑鍥炰笢瑗跨殑 if (frameList != null) { @@ -469,62 +521,416 @@ /// 鑾峰彇娑堟伅璁板綍 /// </summary> /// <returns></returns> - private async System.Threading.Tasks.Task<Dictionary<string, List<MessageRecordInfo>>> GetMessageData() + private async Task<Dictionary<string, List<List<MessageRecordInfo>>>> GetMessageData() { this.dicAllRow = new Dictionary<string, RowLayoutControl>(); + var allListData = new List<MessageRecordInfo>(); - var result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetPushMessageRecord", false, ""); + var pra = new MessageInfoPra(); + pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + + //浼犳劅鍣ㄤ笂鎶� + pra.Topic = "/IASInfoReport"; + var dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //闂ㄩ攣涓婃姤 + pra.Topic = "/Alarms/SendAlarmInform"; + dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //鎾ら槻 + pra.Topic = "/Security/WithdrawMode_Respon"; + dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //甯冮槻 + pra.Topic = "/Security/EnableMode_Respon"; + dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //閫昏緫瑙﹀彂涓婃姤 + pra.Topic = "/Logic/Execute_Respon"; + dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //鍦烘櫙瑙﹀彂涓婃姤 + pra.Topic = "/Scene/Exec_Respon"; + dataInfo = await this.GetMessageDataFromDb(pra); + if (dataInfo == null) + { + return null; + } + allListData.AddRange(dataInfo); + + //鍚堝苟鏁版嵁 + return this.MergeMessageRecordData(allListData); + } + + /// <summary> + /// 浠庝簯绔幏鍙栨暟鎹� + /// </summary> + /// <param name="pra"></param> + /// <returns></returns> + private async Task<List<MessageRecordInfo>> GetMessageDataFromDb(MessageInfoPra pra) + { + var result = await UserCenterLogic.GetResponseDataByRequestHttps("MessageCenter/GetMessageCenterPagger", true, pra); if (result == null) { return null; } - var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MessageRecordInfo>>(result); - //鍚堝苟鏁版嵁 - return this.MergeMessageRecordData(dataInfo); + var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<MessageCentetInfo>(result); + + var listData = new List<MessageRecordInfo>(); + for (int i = 0; i < dataInfo.PageData.Count; i++) + { + try + { + var data = dataInfo.PageData[i]; + //澶勭悊娑堟伅绫诲瀷 + this.AdjustMsgContent(ref data); + + listData.Add(data); + } + catch { continue; } + } + + return listData; } /// <summary> - /// 鍚堝苟鏁版嵁 + /// 鍚堝苟鏁版嵁(鍚屼竴澶╀箣鍐�,浼氬垎缁�) /// </summary> /// <param name="dataInfo"></param> /// <returns></returns> - private Dictionary<string, List<MessageRecordInfo>> MergeMessageRecordData(List<MessageRecordInfo> dataInfo) + private Dictionary<string, List<List<MessageRecordInfo>>> MergeMessageRecordData(List<MessageRecordInfo> dataInfo) { - var dicData = new Dictionary<string, List<MessageRecordInfo>>(); + var dicData = new Dictionary<string, List<List<MessageRecordInfo>>>(); //棣栧厛鍏堟帓搴忎竴涓�,鏃堕棿澶х殑鏀惧湪鍓嶉潰 var dicTemp = new Dictionary<string, List<MessageRecordInfo>>(); var listSortKeys = new List<string>(); foreach (var data in dataInfo) { - if (dicTemp.ContainsKey(data.MsgTime) == false) + if (dicTemp.ContainsKey(data.CreatedOnUtc) == false) { - dicTemp[data.MsgTime] = new List<MessageRecordInfo>(); - listSortKeys.Add(data.MsgTime); + dicTemp[data.CreatedOnUtc] = new List<MessageRecordInfo>(); + listSortKeys.Add(data.CreatedOnUtc); } - dicTemp[data.MsgTime].Add(data); + dicTemp[data.CreatedOnUtc].Add(data); } listSortKeys.Sort(); + + var listGroup = new List<MessageRecordInfo>(); for (int i = listSortKeys.Count - 1; i >= 0; i--) { var listData = dicTemp[listSortKeys[i]]; foreach (var data2 in listData) { - string[] myArry = data2.MsgTime.Split(new string[] { "T" }, StringSplitOptions.RemoveEmptyEntries); + if (data2.Topic == "/DoorLock/DoorLockOperatingEventNotificationCommand") + { + //鏆傛椂涓嶅鐞嗚繖涓富棰� + continue; + } + string[] myArry = data2.CreatedOnUtc.Split(new string[] { "T" }, StringSplitOptions.RemoveEmptyEntries); if (myArry.Length != 2) { continue; } - if (dicData.ContainsKey(myArry[0]) == false) + string dicKeys = myArry[0];//鏃ユ湡 + if (dicData.ContainsKey(dicKeys) == false) { - dicData[myArry[0]] = new List<MessageRecordInfo>(); + listGroup = new List<MessageRecordInfo>(); + dicData[dicKeys] = new List<List<MessageRecordInfo>>(); + dicData[dicKeys].Add(listGroup); } - dicData[myArry[0]].Add(data2); + if (listGroup.Count > 20) + { + //姣�20涓竴缁� + listGroup = new List<MessageRecordInfo>(); + dicData[dicKeys].Add(listGroup); + } + listGroup.Add(data2); } } return dicData; } #endregion + + #region 鈻� 澶勭悊娑堟伅绫诲瀷_______________________ + + /// <summary> + /// 澶勭悊娑堟伅绫诲瀷 + /// </summary> + /// <param name="recordInfo">娑堟伅鏁版嵁</param> + private void AdjustMsgContent(ref MessageRecordInfo recordInfo) + { + var jobject = JObject.Parse(recordInfo.PayloadJson); + //浼犳劅鍣ㄤ笂鎶� + if (recordInfo.Topic == "/IASInfoReport") + { + this.SensorDeviceReportPush(jobject, ref recordInfo); + } + //闂ㄩ攣涓婃姤 + else if (recordInfo.Topic == "/Alarms/SendAlarmInform") + { + this.DoorLockDeviceReportPush(jobject, ref recordInfo); + } + //鎾ら槻 + else if (recordInfo.Topic == "/Security/WithdrawMode_Respon") + { + this.RemoveSafetyGarrisonPush(jobject, ref recordInfo); + } + //甯冮槻 + else if (recordInfo.Topic == "/Security/EnableMode_Respon") + { + this.SetSafetyGarrisonPush(jobject, ref recordInfo); + } + //閫昏緫瑙﹀彂涓婃姤 + else if (recordInfo.Topic == "/Logic/Execute_Respon") + { + this.LogicExecutePush(jobject, ref recordInfo); + } + //鍦烘櫙瑙﹀彂涓婃姤 + else if (recordInfo.Topic == "/Scene/Exec_Respon") + { + this.SceneExecPush(jobject, ref recordInfo); + } + } + + #endregion + + #region 鈻� 浼犳劅鍣ㄤ笂鎶________________________ + + /// <summary> + /// 浼犳劅鍣ㄨ澶囦笂鎶� + /// </summary> + /// <param name="receiveData"></param> + private bool SensorDeviceReportPush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + var ias = new IASZone() { DeviceAddr = receiveData.Value<string>("DeviceAddr"), DeviceEpoint = receiveData.Value<int>("Epoint") }; + ias.iASInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<IASZone.IASInfoData>(receiveData["Data"].ToString()); + //鍥炬爣 + var localDevice = Common.LocalDevice.Current.GetDevice(ias.DeviceAddr, ias.DeviceEpoint); + if (localDevice == null) + { + recordInfo.IconPath = "Device/Sensor.png"; + //娑堟伅绫诲瀷:浼犳劅鍣� + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uDeviceBelongId1200); + } + else + { + string selectPath = string.Empty; + string unselecPath = string.Empty; + Common.LocalDevice.Current.GetDeviceIcon(localDevice, ref unselecPath, ref selectPath); + recordInfo.IconPath = unselecPath; + //娑堟伅绫诲瀷 + recordInfo.MsgObjectText = Common.LocalDevice.Current.GetDeviceEpointName(localDevice); + } + + //娑堟伅 + var info = HdlAlarmsLogic.Current.GetSensorAlarmInfo(ias); + if (info == null) + { + //闈炲湪鍐岀殑娑堟伅璁板綍 + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered); + } + else if (info.BatteryMsg != null) + { + recordInfo.MsgText = info.BatteryMsg; + } + else if (info.DemolishmenMsg != null) + { + recordInfo.MsgText = info.DemolishmenMsg; + } + else + { + recordInfo.MsgText = string.IsNullOrEmpty(info.AlarmMsg) == false ? info.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uSensorAlarmHadTriggered); + } + return true; + } + + #endregion + + #region 鈻� 闂ㄩ攣涓婃姤___________________________ + + /// <summary> + /// 闂ㄩ攣涓婃姤 + /// </summary> + /// <param name="receiveData"></param> + private void DoorLockDeviceReportPush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + //鍥炬爣 + var device = Common.LocalDevice.Current.GetDevice(receiveData.Value<string>("DeviceAddr"), receiveData.Value<int>("Epoint")); + if (device == null) + { + recordInfo.IconPath = "Device/IntelligentLocks.png"; + //娑堟伅绫诲瀷:鏅鸿兘闂ㄩ攣 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uDeviceBelongId2800); + } + else + { + string selectPath = string.Empty; + string unselecPath = string.Empty; + Common.LocalDevice.Current.GetDeviceIcon(device, ref unselecPath, ref selectPath); + recordInfo.IconPath = unselecPath; + //娑堟伅绫诲瀷 + recordInfo.MsgObjectText = Common.LocalDevice.Current.GetDeviceEpointName(device); + } + //娑堟伅 + var msgInfo = HdlAlarmsLogic.Current.GetDoorLockAlarmInfo(receiveData); + recordInfo.MsgText = msgInfo != null ? msgInfo.AlarmMsg : Language.StringByID(R.MyInternationalizationString.uDoorLocksAlarmHadTriggered); + } + + #endregion + + #region 鈻� 甯冮槻_______________________________ + + /// <summary> + /// 甯冮槻鎺ㄩ�� + /// </summary> + /// <param name="receiveData"></param> + private void SetSafetyGarrisonPush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + //鍥炬爣 + recordInfo.IconPath = "Item/Safety.png"; + + var data = Newtonsoft.Json.JsonConvert.DeserializeObject<Safeguard.EnableModeResponseData>(receiveData["Data"].ToString()); + if (data.Result == 0) + { + //绂诲甯冮槻 + if (data.ModeId == 2) + { + //绂诲甯冮槻 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uRemoveHomeGarrison); + //宸叉墽琛� + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + } + else + { + //宸叉墽琛� + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + //娌℃湁鍐呴儴闃插尯 + if (HdlSafeguardLogic.Current.IsHadInternalDefenseArea() == false) + { + //甯冮槻 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uGarrison); + } + else + { + //鍦ㄥ甯冮槻 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uAtHomeGarrison); + } + } + } + else + { + //甯冮槻璁剧疆澶辫触 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uSetGarrisonFail); + } + } + + #endregion + + #region 鈻� 鎾ら槻_______________________________ + + /// <summary> + /// 鎾ら槻鎺ㄩ�� + /// </summary> + /// <param name="receiveData"></param> + private void RemoveSafetyGarrisonPush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + //鍥炬爣 + recordInfo.IconPath = "Item/Safety.png"; + + var data = Newtonsoft.Json.JsonConvert.DeserializeObject<Safeguard.WithdrawModeResponseData>(receiveData["Data"].ToString()); + if (data.Result == 0) + { + //宸叉墽琛� + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + //鎾ら槻 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uWithdrawGarrison); + } + else + { + //鎾ら槻澶辫触 + recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uRemoveGarrisonFail); + } + } + + #endregion + + #region 鈻� 閫昏緫瑙﹀彂涓婃姤_______________________ + + /// <summary> + /// 閫昏緫瑙﹀彂涓婃姤 + /// </summary> + /// <param name="receiveData"></param> + private void LogicExecutePush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + //鍥炬爣 + recordInfo.IconPath = "Item/LogicMsgIcon.png"; + //绫诲瀷:閫昏緫鍚嶅瓧 + recordInfo.MsgObjectText = receiveData["Data"]["LogicName"].ToString(); + //宸叉墽琛� + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + } + + #endregion + + #region 鈻� 鍦烘櫙瑙﹀彂涓婃姤_______________________ + + /// <summary> + /// 鍦烘櫙瑙﹀彂涓婃姤 + /// </summary> + /// <param name="receiveData"></param> + private void SceneExecPush(JObject receiveData, ref MessageRecordInfo recordInfo) + { + //鍥炬爣 + recordInfo.IconPath = "Item/SceneMsgIcon.png"; + //绫诲瀷:鍦烘櫙鍚嶅瓧 + recordInfo.MsgObjectText = receiveData["Data"]["ScenesName"].ToString(); + //宸叉墽琛� + recordInfo.MsgText = Language.StringByID(R.MyInternationalizationString.uExecuted); + } + + #endregion + + #region 鈻� 鐣岄潰鍏抽棴___________________________ + + /// <summary> + /// 鐣岄潰鍏抽棴 + /// </summary> + public override void CloseFormBefore() + { + if (UserCenterResourse.DicActionForm.ContainsKey("UserMainForm") == false) + { + Common.CommonPage.Instance.IsDrawerLockMode = false; + } + base.CloseFormBefore(); + } + + #endregion } } -- Gitblit v1.8.0