From 3c8f41f50076a3b904705ef9f94d1a827ecd8c52 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期六, 28 八月 2021 15:43:19 +0800
Subject: [PATCH] 2021-8-28-4

---
 HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs |   87 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 77 insertions(+), 10 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
index f0fdbc0..4a678e3 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -14,12 +14,37 @@
         /// </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()
+        {
+            Application.RunOnMainThread(() =>
+            {
+                if (bodyView != null)
+                {
+                    //foreach(var temp in FunctionList.List.securities)
+                    //{
+                    //    if(temp.status == "enable")
+                    //    {
+                    //        bodyView.btnSecurityStatus.IsSelected = true;
+                    //        return;
+                    //    }
+                    //}
+                    bodyView.btnSecurityStatus.IsSelected = SecurityCenter.Ins.InDefense;
+                }
+            });
         }
 
         /// <summary>
@@ -32,16 +57,37 @@
                 if (bodyView != null)
                 {
                     var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity);
+                    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");
+                        if (tempAttr != null)
+                        {
+                            var newTemp = new Function()
+                            {
+                                name = enviTemp.name,
+                                sid = enviTemp.sid,
+                                deviceId = enviTemp.deviceId,
+                                attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } },
+                            };
+                            humiSensorList.Add(newTemp);
+                        }
+                    }
                     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();
                 }
@@ -49,7 +95,7 @@
         }
 
         /// <summary>
-        /// 鏇存柊瀹ゅ唴浼犳劅鍣ㄦ暟鎹�-鏅氱偣
+        /// 鏇存柊瀹ゅ唴浼犳劅鍣ㄦ暟鎹�
         /// </summary>
         public static void LoadEvent_RefreshEnvirIndoorTemp()
         { 
@@ -58,16 +104,37 @@
                 if (bodyView != null)
                 {
                     var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature);
+                    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");
+                        if (tempAttr != null)
+                        {
+                            var newTemp = new Function()
+                            {
+                                name = enviTemp.name,
+                                sid = enviTemp.sid,
+                                deviceId = enviTemp.deviceId,
+                                attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } },
+                            };
+                            tempSensorList.Add(newTemp);
+                        }
+                    }
                     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();
                 }

--
Gitblit v1.8.0