1
wei
2021-08-28 19d0e070e128daf855beaf72e00f55334be9f87b
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();
                }
@@ -65,7 +112,7 @@
        }
        /// <summary>
        /// 更新室内传感器数据-晚点
        /// 更新室内传感器数据
        /// </summary>
        public static void LoadEvent_RefreshEnvirIndoorTemp()
        { 
@@ -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);
                                });
                            }
                        }