HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-09-18 c7df85937f73fb347ee0b19e9c052d2d00a6df6c
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
@@ -533,12 +533,21 @@
        /// </summary>
        public static void RefreshHomeObject()
        {
            //还原住宅对象
            var home = HdlResidenceLogic.Current.GetHouseByHouseId(Config.Instance.Home.Id);
            //变更楼层
            //刷新楼层
            Config.Instance.Home.FloorDics = home.FloorDics;
            Config.Instance.Home.CurrentFloorId = string.Empty;
            if (Config.Instance.Home.TemplateMode == -1)
            {
                Config.Instance.Home.TemplateMode = home.TemplateMode;
                if (Config.Instance.Home.TemplateMode == -1)
                {
                    //默认初始值
                    Config.Instance.Home.TemplateMode = 1;
                }
            }
            Config.Instance.Home.Save(false);
            //主页需要重新刷新
@@ -817,6 +826,7 @@
                            var form = new HideOption.HideOptionMainForm();
                            form.AddForm();
                        });
                        ProgressBar.Close(true);
                        return false;
                    }
                }
@@ -880,28 +890,9 @@
                System.Threading.Thread.Sleep(30);
                if (hadNet == 1)
                {
                    try
                    {
                        bool canReceiveGw = false;
                        foreach (var gateway in UserCenterResourse.DicReceiveGatewayTest.Values)
                        {
                            if (gateway.HomeId == Config.Instance.Home.Id)
                            {
                                //能够搜索得到网关
                                canReceiveGw = true;
                                break;
                            }
                        }
                        UserCenterResourse.DicReceiveGatewayTest = null;
                        //设置远程连接的初始值
                        ZigBee.Device.ZbGateway.IsRemote = canReceiveGw == false;
                        if (canReceiveGw == false)
                        {
                            //如果是远程的话,追加等待时间
                            System.Threading.Thread.Sleep(1500);
                        }
                    }
                    catch { }
                    //住宅切换时,检测网关连接情况
                    CheckGatewayConnection();
                }
                UserCenterResourse.DicReceiveGatewayTest = null;
            }
@@ -963,6 +954,35 @@
            Common.Logic.SoneLogicList.Clear();
        }
        /// <summary>
        /// 住宅切换时,检测网关连接情况
        /// </summary>
        private static void CheckGatewayConnection()
        {
            try
            {
                bool canReceiveGw = false;
                foreach (var gateway in UserCenterResourse.DicReceiveGatewayTest.Values)
                {
                    if (gateway.HomeId == Config.Instance.Home.Id)
                    {
                        //能够搜索得到网关
                        canReceiveGw = true;
                        break;
                    }
                }
                UserCenterResourse.DicReceiveGatewayTest = null;
                //设置远程连接的初始值
                ZigBee.Device.ZbGateway.IsRemote = canReceiveGw == false;
                if (canReceiveGw == false)
                {
                    //如果是远程的话,追加等待时间
                    System.Threading.Thread.Sleep(1500);
                }
            }
            catch { }
        }
        #endregion
        #region ■ 初始化登陆账号的信息_______________