From 0051efe22d4fb0b298a97ba08213a246f4ea40dd Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 14:23:35 +0800 Subject: [PATCH] 1 --- HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs | 72 +++++++++++++++++++++++++++++++----- 1 files changed, 62 insertions(+), 10 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs index 82c5530..52ba900 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(); } -- Gitblit v1.8.0