From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs |  229 ++++++++++++++++++++-------------------------------------
 1 files changed, 81 insertions(+), 148 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs
index 637ea33..5388ddd 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/MessageManagementForm.cs
@@ -167,9 +167,9 @@
                             framBack.AddChidren(frameDate);
                             var btnDate = new NormalViewControl(500, 60, true);
                             btnDate.TextSize = 15;
-                            btnDate.X = ControlCommonResourse.XXLeft;
+                            btnDate.X = HdlControlResourse.XXLeft;
                             btnDate.Y = Application.GetRealHeight(35);
-                            btnDate.Text = Convert.ToDateTime(listGroup[0][0].CreatedOnUtc).ToString("MM" + strMonth + "dd" + strDate);
+                            btnDate.Text = HdlCommonLogic.Current.ConvertUtcTimeToLocalTime2(listGroup[0][0].CreateTime).ToString("MM" + strMonth + "dd" + strDate);
                             frameDate.AddChidren(btnDate);
                         }
 
@@ -179,7 +179,7 @@
                             for (int j = 0; j < listData[i].listMsg.Count; j++)
                             {
                                 //璁剧疆宸茶鐨勫垵濮嬪��
-                                listData[i].ListReading.Add(listData[i].IsReading);
+                                listData[i].ListReading.Add(listData[i].IsRead);
                                 //娣诲姞淇℃伅琛�
                                 bool addLine = i != listData.Count - 1 || j != listData[i].listMsg.Count - 1;
                                 this.AddMsgRowControl(framBack, listData[i], j, addLine);
@@ -229,7 +229,7 @@
         /// </summary>
         private void ShowBottomMenu()
         {
-            bool authority = UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2;
+            bool authority = HdlUserCenterResourse.ResidenceOption.AuthorityNo == 1 || HdlUserCenterResourse.ResidenceOption.AuthorityNo == 2;
 
             var menuContr = new BottomMenuSelectForm();
             menuContr.AddForm(authority == true ? 2 : 1);
@@ -284,7 +284,7 @@
             var btnTime = rowControl.frameTable.AddMostRightView("", 200, 50);
             btnTime.TextColor = UserCenterColor.Current.TextGrayColor1;
             btnTime.Y = btnMsg.Bottom + Application.GetRealHeight(12);
-            var convertTime = UserCenterLogic.ConvertUtcTimeToLocalTime(recordInfo.CreatedOnUtc);
+            var convertTime = HdlCommonLogic.Current.ConvertUtcTimeToLocalTime2(recordInfo.CreateTime);
             btnTime.Text = convertTime.ToString("HH锛歮m");
             rowControl.frameTable.AddChidren(btnTime, ChidrenBindMode.BindEvent);
             //搴曠嚎
@@ -316,7 +316,7 @@
             }
 
             //涓昏涓讳汉鍜岀鐞嗗憳鑳藉鍒犻櫎
-            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
+            if (HdlUserCenterResourse.ResidenceOption.AuthorityNo == 1 || HdlUserCenterResourse.ResidenceOption.AuthorityNo == 2)
             {
                 //鍒犻櫎
                 var btnDelete = rowControl.AddDeleteControl();
@@ -332,7 +332,7 @@
             }
 
             //鐐瑰嚮
-            rowControl.frameTable.ButtonClickEvent += async (sender, e) =>
+            rowControl.frameTable.ButtonClickEvent += (sender, e) =>
             {
                 if (recordInfo.ListReading[msgIndex] == true)
                 {
@@ -363,11 +363,7 @@
         /// <param name="strId"></param>
         private bool SetTickIsRead(string strId)
         {
-            var pra = new MessageReadStatuPra();
-            pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-            pra.Id = strId;
-            var result = UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/TagMessageMessageCenterItem", true, pra);
-            return result;
+            return HdlMessageLogic.Current.SetTickIsRead(strId);
         }
 
         /// <summary>
@@ -387,10 +383,8 @@
                     //鎵撳紑杩涘害鏉�
                     this.ShowProgressBar();
 
-                    var pra = new MessageReadStatuPra();
-                    pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                    pra.TagAllOrClearType = 0;
-                    var result = UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/TagAllOrClearMessageCenter", true, pra);
+                    var result = HdlMessageLogic.Current.SetAllTickIsRead();
+
                     //鍏抽棴杩涘害鏉�
                     this.CloseProgressBar();
                     if (result == false)
@@ -422,10 +416,7 @@
         /// <param name="rowContr"></param>
         private bool DeleteMsg(string strId, FrameListControl frameList, RowLayoutControl rowContr)
         {
-            var pra = new MessageReadStatuPra();
-            pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-            pra.Id = strId;
-            var result = UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/DelMessageCenterItem", true, pra);
+            var result = HdlMessageLogic.Current.DeleteCloundMessage(strId);
             if (result == false)
             {
                 return false;
@@ -462,10 +453,7 @@
                     //鎵撳紑杩涘害鏉�
                     this.ShowProgressBar();
 
-                    var pra = new MessageReadStatuPra();
-                    pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-                    pra.TagAllOrClearType = 1;
-                    var result = UserCenterLogic.GetResultStatuByRequestHttps("MessageCenter/TagAllOrClearMessageCenter", true, pra);
+                    var result = HdlMessageLogic.Current.DeleteAllCloundMessage();
                     if (result == false)
                     {
                         //鍏抽棴杩涘害鏉�
@@ -555,98 +543,30 @@
         private Dictionary<string, List<List<MessageRecordInfo>>> GetMessageData()
         {
             this.dicAllRow = new Dictionary<string, RowLayoutControl>();
-            var allListData = new List<MessageRecordInfo>();
-
-            var pra = new MessageInfoPra();
-            pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
-
-            //浼犳劅鍣ㄤ笂鎶�
-            pra.Topic = "/IASInfoReport";
-            var dataInfo = this.GetMessageDataFromDb(pra);
-            if (dataInfo == null)
-            {
-                return null;
-            }
-            allListData.AddRange(dataInfo);
-
-            //闂ㄩ攣涓婃姤
-            pra.Topic = "/Alarms/SendAlarmInform";
-            dataInfo = this.GetMessageDataFromDb(pra);
-            if (dataInfo == null)
-            {
-                return null;
-            }
-            allListData.AddRange(dataInfo);
-
-            //鎾ら槻
-            pra.Topic = "/Security/WithdrawMode_Respon";
-            dataInfo = this.GetMessageDataFromDb(pra);
-            if (dataInfo == null)
-            {
-                return null;
-            }
-            allListData.AddRange(dataInfo);
-
-            //甯冮槻
-            pra.Topic = "/Security/EnableMode_Respon";
-            dataInfo = this.GetMessageDataFromDb(pra);
-            if (dataInfo == null)
-            {
-                return null;
-            }
-            allListData.AddRange(dataInfo);
-
-            //閫昏緫瑙﹀彂涓婃姤
-            pra.Topic = "/Logic/Execute_Respon";
-            dataInfo = this.GetMessageDataFromDb(pra);
-            if (dataInfo == null)
-            {
-                return null;
-            }
-            allListData.AddRange(dataInfo);
-
-            //鍦烘櫙瑙﹀彂涓婃姤
-            pra.Topic = "/Scene/Exec_Respon";
-            dataInfo = this.GetMessageDataFromDb(pra);
-            if (dataInfo == null)
-            {
-                return null;
-            }
-            allListData.AddRange(dataInfo);
-
-            //鍚堝苟鏁版嵁
-            return this.MergeMessageRecordData(allListData);
-        }
-
-        /// <summary>
-        /// 浠庝簯绔幏鍙栨暟鎹�
-        /// </summary>
-        /// <param name="pra"></param>
-        /// <returns></returns>
-        private List<MessageRecordInfo> GetMessageDataFromDb(MessageInfoPra pra)
-        {
-            var result = UserCenterLogic.GetResponseDataByRequestHttps("MessageCenter/GetMessageCenterPagger", true, pra);
-            if (string.IsNullOrEmpty(result) == true)
-            {
-                return null;
-            }
-            var dataInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<MessageCentetInfo>(result);
 
             var listData = new List<MessageRecordInfo>();
-            for (int i = 0; i < dataInfo.PageData.Count; i++)
+            var listMsg = HdlMessageLogic.Current.GetListMessageFromDb();
+            if (listMsg == null)
+            {
+                return new Dictionary<string, List<List<MessageRecordInfo>>>();
+            }
+
+            for (int i = 0; i < listMsg.Count; i++)
             {
                 try
                 {
-                    var data = dataInfo.PageData[i];
+                    var data = listMsg[i];
                     //澶勭悊娑堟伅绫诲瀷
-                    this.AdjustMsgContent(ref data);
-
-                    listData.Add(data);
+                    if (this.AdjustMsgContent(ref data) == true)
+                    {
+                        listData.Add(data);
+                    }
                 }
                 catch { continue; }
             }
 
-            return listData;
+            //鍚堝苟鏁版嵁
+            return this.MergeMessageRecordData(listData);
         }
 
         /// <summary>
@@ -663,12 +583,12 @@
             var listSortKeys = new List<string>();
             foreach (var data in dataInfo)
             {
-                if (dicTemp.ContainsKey(data.CreatedOnUtc) == false)
+                if (dicTemp.ContainsKey(data.CreateTime) == false)
                 {
-                    dicTemp[data.CreatedOnUtc] = new List<MessageRecordInfo>();
-                    listSortKeys.Add(data.CreatedOnUtc);
+                    dicTemp[data.CreateTime] = new List<MessageRecordInfo>();
+                    listSortKeys.Add(data.CreateTime);
                 }
-                dicTemp[data.CreatedOnUtc].Add(data);
+                dicTemp[data.CreateTime].Add(data);
             }
             listSortKeys.Sort();
 
@@ -678,30 +598,30 @@
                 var listData = dicTemp[listSortKeys[i]];
                 foreach (var data2 in listData)
                 {
-                    if (data2.Topic == "/DoorLock/DoorLockOperatingEventNotificationCommand")
+                    try
                     {
-                        //鏆傛椂涓嶅鐞嗚繖涓富棰�
-                        continue;
+                        if (data2.MessageTitle == "/DoorLock/DoorLockOperatingEventNotificationCommand")
+                        {
+                            //鏆傛椂涓嶅鐞嗚繖涓富棰�
+                            continue;
+                        }
+                        string strDay = HdlCommonLogic.Current.ConvertUtcTimeToLocalTime2(data2.CreateTime).ToString("yyyy/MM/dd");
+                        //鎸夋瘡澶╁垎缁�
+                        if (dicData.ContainsKey(strDay) == false)
+                        {
+                            listGroup = new List<MessageRecordInfo>();
+                            dicData[strDay] = new List<List<MessageRecordInfo>>();
+                            dicData[strDay].Add(listGroup);
+                        }
+                        if (listGroup.Count > 20)
+                        {
+                            //姣�20涓竴缁�
+                            listGroup = new List<MessageRecordInfo>();
+                            dicData[strDay].Add(listGroup);
+                        }
+                        listGroup.Add(data2);
                     }
-                    string[] myArry = data2.CreatedOnUtc.Split(new string[] { "T" }, StringSplitOptions.RemoveEmptyEntries);
-                    if (myArry.Length != 2)
-                    {
-                        continue;
-                    }
-                    string dicKeys = myArry[0];//鏃ユ湡
-                    if (dicData.ContainsKey(dicKeys) == false)
-                    {
-                        listGroup = new List<MessageRecordInfo>();
-                        dicData[dicKeys] = new List<List<MessageRecordInfo>>();
-                        dicData[dicKeys].Add(listGroup);
-                    }
-                    if (listGroup.Count > 20)
-                    {
-                        //姣�20涓竴缁�
-                        listGroup = new List<MessageRecordInfo>();
-                        dicData[dicKeys].Add(listGroup);
-                    }
-                    listGroup.Add(data2);
+                    catch { }
                 }
             }
             return dicData;
@@ -715,39 +635,50 @@
         /// 澶勭悊娑堟伅绫诲瀷
         /// </summary>
         /// <param name="recordInfo">娑堟伅鏁版嵁</param>
-        private void AdjustMsgContent(ref MessageRecordInfo recordInfo)
+        private bool AdjustMsgContent(ref MessageRecordInfo recordInfo)
         {
-            var jobject = JObject.Parse(recordInfo.PayloadJson);
             //浼犳劅鍣ㄤ笂鎶�
-            if (recordInfo.Topic == "/IASInfoReport")
+            if (recordInfo.MessageTitle == "/IASInfoReport")
             {
+                var jobject = JObject.Parse(recordInfo.MessageExpand);
                 this.SensorDeviceReportPush(jobject, ref recordInfo);
             }
             //闂ㄩ攣涓婃姤
-            else if (recordInfo.Topic == "/Alarms/SendAlarmInform")
+            else if (recordInfo.MessageTitle == "/Alarms/SendAlarmInform")
             {
+                var jobject = JObject.Parse(recordInfo.MessageExpand);
                 this.DoorLockDeviceReportPush(jobject, ref recordInfo);
             }
             //鎾ら槻
-            else if (recordInfo.Topic == "/Security/WithdrawMode_Respon")
+            else if (recordInfo.MessageTitle == "/Security/WithdrawMode_Respon")
             {
+                var jobject = JObject.Parse(recordInfo.MessageExpand);
                 this.RemoveSafetyGarrisonPush(jobject, ref recordInfo);
             }
             //甯冮槻
-            else if (recordInfo.Topic == "/Security/EnableMode_Respon")
+            else if (recordInfo.MessageTitle == "/Security/EnableMode_Respon")
             {
+                var jobject = JObject.Parse(recordInfo.MessageExpand);
                 this.SetSafetyGarrisonPush(jobject, ref recordInfo);
             }
             //閫昏緫瑙﹀彂涓婃姤
-            else if (recordInfo.Topic == "/Logic/Execute_Respon")
+            else if (recordInfo.MessageTitle == "/Logic/Execute_Respon")
             {
+                var jobject = JObject.Parse(recordInfo.MessageExpand);
                 this.LogicExecutePush(jobject, ref recordInfo);
             }
             //鍦烘櫙瑙﹀彂涓婃姤
-            else if (recordInfo.Topic == "/Scene/Exec_Respon")
+            else if (recordInfo.MessageTitle == "/Scene/Exec_Respon")
             {
+                var jobject = JObject.Parse(recordInfo.MessageExpand);
                 this.SceneExecPush(jobject, ref recordInfo);
             }
+            else
+            {
+                //涓嶅鐞嗙殑涓婚
+                return false;
+            }
+            return true;
         }
 
         #endregion
@@ -763,21 +694,22 @@
             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);
+            var localDevice = HdlDeviceCommonLogic.Current.GetDevice(ias.DeviceAddr, ias.DeviceEpoint);
             if (localDevice == null)
             {
                 recordInfo.IconPath = "Device/Sensor.png";
                 //娑堟伅绫诲瀷:浼犳劅鍣�
-                recordInfo.MsgObjectText = Language.StringByID(R.MyInternationalizationString.uDeviceBelongId1200);
+                var infoContent = HdlDeviceCommonLogic.Current.GetDeviceModelIdNameInfo("A402");
+                recordInfo.MsgObjectText = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty;
             }
             else
             {
                 string selectPath = string.Empty;
                 string unselecPath = string.Empty;
-                Common.LocalDevice.Current.GetDeviceIcon(localDevice, ref unselecPath, ref selectPath);
+                HdlDeviceCommonLogic.Current.GetDeviceIcon(localDevice, ref unselecPath, ref selectPath);
                 recordInfo.IconPath = unselecPath;
                 //娑堟伅绫诲瀷
-                recordInfo.MsgObjectText = Common.LocalDevice.Current.GetDeviceEpointName(localDevice);
+                recordInfo.MsgObjectText = HdlDeviceCommonLogic.Current.GetDeviceEpointName(localDevice);
             }
 
             //娑堟伅
@@ -821,21 +753,22 @@
         private void DoorLockDeviceReportPush(JObject receiveData, ref MessageRecordInfo recordInfo)
         {
             //鍥炬爣
-            var device = Common.LocalDevice.Current.GetDevice(receiveData.Value<string>("DeviceAddr"), receiveData.Value<int>("Epoint"));
+            var device = HdlDeviceCommonLogic.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);
+                var infoContent = HdlDeviceCommonLogic.Current.GetDeviceModelIdNameInfo("A405");
+                recordInfo.MsgObjectText = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty;
             }
             else
             {
                 string selectPath = string.Empty;
                 string unselecPath = string.Empty;
-                Common.LocalDevice.Current.GetDeviceIcon(device, ref unselecPath, ref selectPath);
+                HdlDeviceCommonLogic.Current.GetDeviceIcon(device, ref unselecPath, ref selectPath);
                 recordInfo.IconPath = unselecPath;
                 //娑堟伅绫诲瀷
-                recordInfo.MsgObjectText = Common.LocalDevice.Current.GetDeviceEpointName(device);
+                recordInfo.MsgObjectText = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
             }
             //娑堟伅
             var msgInfo = HdlAlarmsLogic.Current.GetDoorLockAlarmInfo(receiveData);

--
Gitblit v1.8.0