wjc
2022-09-14 9eec81850e418a3c16410b4870910bde142b06e3
HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -14,46 +14,46 @@
        /// </summary>
        public static void LoadEvent_RefreshDevcieOnline(Function function)
        {
            //Application.RunOnMainThread(() =>
            //{
            //    if (bodyView != null)
            //    {
            //        foreach (var view in bodyView.functionViews)
            //        {
            //            if (view.Tag.ToString() == function.sid)
            //            {
            //                for (int i = 0; i < view.ChildrenCount; i++)
            //                {
            //                    if (view.GetChildren(i).GetType() == typeof(Button))
            //                    {
            //                        var btn = view.GetChildren(i) as Button;
            //                        if(btn.Tag == null)
            //                        {
            //                            continue;
            //                        }
            //                        if (btn.Tag.ToString() == function.sid)
            //                        {
            //                            if (function.online)
            //                            {
            //                                btn.UnSelectedImagePath = "Collection/Functionbg.png";
            //                                btn.IsSelected = false;
            //                            }
            //                            else
            //                            {
            //                                btn.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
            //                                btn.IsSelected = false;
            //                            }
            //                        }
            //                        else if (btn.Tag.ToString() == "OnlineTag")
            //                        {
            //                            btn.Visible = !function.online;
            //                        }
            //                    }
            //                }
            //            }
            //        }
            //    }
            //});
            Application.RunOnMainThread(() =>
            {
                if (bodyView != null)
                {
                    foreach (var view in bodyView.functionViews)
                    {
                        if (view.Tag.ToString() == function.sid)
                        {
                            for (int i = 0; i < view.ChildrenCount; i++)
                            {
                                if (view.GetChildren(i).GetType() == typeof(Button))
                                {
                                    var btn = view.GetChildren(i) as Button;
                                    if(btn.Tag == null)
                                    {
                                        continue;
                                    }
                                    if (btn.Tag.ToString() == function.sid)
                                    {
                                        if (function.online)
                                        {
                                            btn.UnSelectedImagePath = "Collection/Functionbg.png";
                                            btn.IsSelected = false;
                                        }
                                        else
                                        {
                                            btn.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
                                            btn.IsSelected = false;
                                        }
                                    }
                                    else if (btn.Tag.ToString() == "OnlineTag")
                                    {
                                        btn.Visible = !function.online;
                                    }
                                }
                            }
                        }
                    }
                }
            });
        }
        /// <summary>
        /// 更新主页天气
@@ -395,16 +395,63 @@
                                var state = false;
                                if (function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades || function.spk == SPK.CurtainTrietex ||
                                function.spk == SPK.CurtainSwitch)//窗帘设备根据百分比判断开关状态
                                function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainDream)//窗帘设备根据百分比判断开关状态
                                {
                                    if (function.GetAttribute(FunctionAttributeKey.Percent) != null)
                                    {
                                        state = function.GetAttrState(FunctionAttributeKey.Percent) != "0";
                                    }else
                                    }
                                    else
                                    {
                                        if (function.GetAttrState(FunctionAttributeKey.OnOff) == "stop")
                                            return;
                                        state = function.trait_on_off.curValue.ToString() == "on";
                                    }
                                }
                                else if (function.spk == SPK.SenesorMegahealth)
                                {
                                    var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.TargetStatus);
                                    if (tempStatus != null)
                                    {
                                        switch (tempStatus.state)
                                        {//0空,1走,2跑,3坐,4跌倒,5站
                                            case "0":
                                                state = false;
                                                break;
                                            case "1":
                                                state = true;
                                                break;
                                            case "2":
                                                if (function.extSet.labModel)
                                                {
                                                    state = true;
                                                }
                                                break;
                                            case "3":
                                                if (function.extSet.labModel)
                                                {
                                                    state = true;
                                                }
                                                break;
                                            case "4":
                                                state = true;
                                                break;
                                            case "5":
                                                if (function.extSet.labModel)
                                                {
                                                    state = true;
                                                }
                                                break;
                                        }
                                    }
                                }
                                else if(function.spk == SPK.SensorHelp)
                                {
                                    var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.AlarmStatus);
                                    if(tempStatus != null)
                                    {
                                        state = tempStatus.curValue.ToString() == "alarm";
                                    }
                                }
                                else
@@ -427,7 +474,14 @@
                                            {
                                                if (function.spk != SPK.LightSwitch)
                                                {
                                                    btn.Text = function.lastState;
                                                    if (function.spk == SPK.SensorHelp)
                                                    {
                                                        btn.TextID = StringId.InAlarming;
                                                    }
                                                    else
                                                    {
                                                        btn.Text = function.lastState;
                                                    }
                                                }
                                            }
                                        }
@@ -514,16 +568,16 @@
        {
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                btnSwitch.IsSelected = !btnSwitch.IsSelected;
                new System.Threading.Thread(() =>
                {
@@ -577,16 +631,16 @@
        {
            btnSwitch.MouseUpEventHandler = (sender, e) =>
            {
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                if (DB_ResidenceData.Instance.GatewayType == 1)
                {
                    btnSwitch.IsSelected = !btnSwitch.IsSelected;
@@ -621,16 +675,16 @@
        {
            btnClose.MouseUpEventHandler = (sender, e) =>
            {
                //if (!curtain.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (!curtain.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                btnClose.IsSelected = true;
                curtain.trait_on_off.curValue = "off";
                curtain.SetAttrState(FunctionAttributeKey.Percent, 0);
@@ -641,16 +695,16 @@
            btnOpen.MouseUpEventHandler = (sender, e) =>
            {
                //if (!curtain.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (!curtain.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                btnOpen.IsSelected = true;
                curtain.trait_on_off.curValue = "on";
                curtain.SetAttrState(FunctionAttributeKey.Percent, 100);
@@ -671,16 +725,16 @@
            };
            btnUp.MouseUpEventHandler = (sender, e) =>
            {
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);
@@ -702,16 +756,16 @@
            };
            btnDown.MouseUpEventHandler = (sender, e) =>
            {
                //if (!function.online)//离线不允许操作
                //{
                //    new Tip()
                //    {
                //        CloseTime = 1,
                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                //        Direction = AMPopTipDirection.None,
                //    }.Show(MainPage.BaseView);
                //    return;
                //}
                if (!function.online)//离线不允许操作
                {
                    new Tip()
                    {
                        CloseTime = 1,
                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        Direction = AMPopTipDirection.None,
                    }.Show(MainPage.BaseView);
                    return;
                }
                new System.Threading.Thread(() =>
                {
                    System.Threading.Thread.Sleep(2000);