From 19d0e070e128daf855beaf72e00f55334be9f87b Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期六, 28 八月 2021 13:47:25 +0800
Subject: [PATCH] 1

---
 HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs |   82 +++++++++++++++++++++++++++++++++-------
 1 files changed, 67 insertions(+), 15 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
index 82c5530..4922410 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -14,11 +14,53 @@
         /// </summary>
         public static void LoadEvent_RefreshAir()
         {
-            if (bodyView != null)
+            Application.RunOnMainThread(() =>
             {
-                bodyView.btnTempValues.Text = MainPage.cityInfo.temperature == null ? "--" : MainPage.cityInfo.temperature + "掳";
-                bodyView.btnHumidityValues.Text = MainPage.cityInfo.humidity == null ? "--" : MainPage.cityInfo.humidity + "%";
-                bodyView.btnPm25Values.Text = MainPage.cityInfo.pm25 == null ? "--" : MainPage.cityInfo.pm25;
+                if (bodyView != null)
+                {
+                    bodyView.btnTempValues.Text = MainPage.cityInfo.temperature == null ? "--" : MainPage.cityInfo.temperature + "掳";
+                    bodyView.btnHumidityValues.Text = MainPage.cityInfo.humidity == null ? "--" : MainPage.cityInfo.humidity + "%";
+                    bodyView.btnPm25Values.Text = MainPage.cityInfo.pm25 == null ? "--" : MainPage.cityInfo.pm25;
+                }
+            });
+        }
+
+        /// <summary>
+        /// 鏇存柊瀹夐槻鐘舵��
+        /// </summary>
+        public static void LoadEvent_RefreshSecurityStatus()
+        {
+            try
+            {
+                Application.RunOnMainThread(() =>
+                {
+                    if (bodyView != null)
+                    {
+                        lock (FunctionList.List.securities)
+                        {
+                            foreach (var temp in FunctionList.List.securities)
+                            {
+                                if (temp.status == "enable")
+                                {
+                                    if (temp.alarm)
+                                    {
+                                        bodyView.btnSecurityStatus.SelectedImagePath = "Collection/DefenseAlarmIcon.png";
+                                    }
+                                    else
+                                    {
+                                        bodyView.btnSecurityStatus.SelectedImagePath = "Collection/DefenseStatusIcon.png";
+                                    }
+                                    bodyView.btnSecurityStatus.IsSelected = true;
+                                    return;
+                                }
+                            }
+                        }
+                    }
+                });
+            }
+            catch (Exception ex)
+            {
+                MainPage.Log($"瀹夐槻涓婚〉鏇存柊寮傚父锛歿ex.Message}");
             }
         }
 
@@ -32,7 +74,7 @@
                 if (bodyView != null)
                 {
                     var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity);
-                    var enviSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorEnvironment);
+                    var enviSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => SPK.EvironmentSensorList().Contains(obj.spk ));
                     foreach (var enviTemp in enviSensorList)
                     {
                         var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "humidity");
@@ -49,15 +91,20 @@
                         }
                     }
                     double humiTotalValues = 0;
+                    int humiTotalCount = 0;
                     foreach (var temp in humiSensorList)
                     {
                         double humiValue = 0;
                         double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out humiValue);
-                        humiTotalValues += humiValue;
+                        if(humiValue > 0)
+                        {
+                            humiTotalValues += humiValue;
+                            humiTotalCount++;
+                        }
                     }
                     if (humiTotalValues > 0)
                     {
-                        bodyView.btnIndoorHumiValues.Text = "/" + humiTotalValues + "%";
+                        bodyView.btnIndoorHumiValues.Text = "/" + (humiTotalValues /humiTotalCount).ToString("0")+ "%";
                     }
                     bodyView.btnIndoorHumiValues.Width = bodyView.btnIndoorHumiValues.GetTextWidth();
                 }
@@ -74,7 +121,7 @@
                 if (bodyView != null)
                 {
                     var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature);
-                    var enviSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorEnvironment);
+                    var enviSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => SPK.EvironmentSensorList().Contains(obj.spk));
                     foreach (var enviTemp in enviSensorList)
                     {
                         var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "temperature");
@@ -91,15 +138,20 @@
                         }
                     }
                     double tempTotalValues = 0;
+                    int tempTotalCount = 0;
                     foreach (var temp in tempSensorList)
                     {
                         double tempValue = 0;
                         double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out tempValue);
-                        tempTotalValues += tempValue;
+                        if (tempValue > 0)
+                        {
+                            tempTotalValues += tempValue;
+                            tempTotalCount++;
+                        }
                     }
                     if (tempTotalValues > 0)
                     {
-                        bodyView.btnIndoorTempValues.Text = "/" + tempTotalValues + "掳";
+                        bodyView.btnIndoorTempValues.Text = "/" + (tempTotalValues /tempTotalCount).ToString("0.0")+ "掳";
                     }
                     bodyView.btnIndoorTempValues.Width = bodyView.btnIndoorTempValues.GetTextWidth();
                 }
@@ -583,12 +635,12 @@
                     {
                         //鏈鐨勬秷鎭垪琛�
                         var unreadList = new List<PushMessageInfo>();
+                       
+                        var pushMessageInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<PushMessageInfoList>(result.Data.ToString());
 
-                        var pushMessageInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PushMessageInfo>>(result.Data.ToString());
-
-                        if (pushMessageInfoList != null && pushMessageInfoList.Count > 0)
+                        if (pushMessageInfoList != null && pushMessageInfoList.list != null && pushMessageInfoList.list.Count > 0)
                         {
-                            foreach (var info in pushMessageInfoList)
+                            foreach (var info in pushMessageInfoList.list)
                             {
                                 if (!info.isRead)
                                 {
@@ -608,7 +660,7 @@
                             {
                                 Application.RunOnMainThread(() =>
                                 {
-                                    ShowMesBtnState(pushMessageInfoList[0], true);
+                                    ShowMesBtnState(pushMessageInfoList.list[0], true);
                                 });
                             }
                         }

--
Gitblit v1.8.0