黄学彪
2019-11-07 82a773d1783549caca563831aac8affc059deedf
ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs
@@ -347,31 +347,21 @@
                //网关绑定模式
                GatewayBindMode mode = GatewayBindMode.BindAgain;
                if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true)
                //如果是第一次绑定,或者是以前已经绑定过了的
                if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true
                    || way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
                {
                    //第一次绑定,也就是网关住宅ID为空
                    mode = GatewayBindMode.First;
                    this.dicZbGatewayDiv[listId[i]] = 0;
                    //获取到了新网关
                    this.newGatewayGetting = true;
                }
                else if (way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
                {
                    //已经绑定过了
                    this.dicZbGatewayDiv[listId[i]] = 1;
                    mode = GatewayBindMode.Binded;
                }
                else
                {
                    //需要换绑
                    this.dicZbGatewayDiv[listId[i]] = 2;
                    mode = GatewayBindMode.BindAgain;
                }
                //本地是否有这个网关
                bool isExist = HdlGatewayLogic.Current.IsGatewayExist(way);
                //如果
                if (mode != GatewayBindMode.BindAgain)
                {
                    if (way.getGatewayBaseInfo.HomeId == Common.Config.Instance.HomeId)
                    {
                        //第一次绑定,也就是网关住宅ID为空
                        mode = GatewayBindMode.First;
                    }
                    else
                    {
                        //已经绑定过了
                        mode = GatewayBindMode.Binded;
                    }
                    //添加搜索到的网关到缓存(执行网关保存操作)
                    ShowErrorMode showMode = this.dicIdCheckCount[listId[i]] == 0 ? ShowErrorMode.YES : ShowErrorMode.NO;
                    var result = await this.DoSaveGateway(way, showMode);
@@ -380,14 +370,29 @@
                        continue;
                    }
                }
                //如果它已经完全成功了的话,则将它的剩余次数置零
                this.dicIdCheckCount[listId[i]] = 0;
                if (isExist == true)
                //全部处理OK后,才能设置flage
                if (mode == GatewayBindMode.First)
                {
                    //已经绑定过了的,则不再显示
                    continue;
                    //第一次绑定
                    this.dicZbGatewayDiv[listId[i]] = 0;
                    //获取到了新网关
                    this.newGatewayGetting = true;
                }
                if (mode != GatewayBindMode.BindAgain)
                else if (mode == GatewayBindMode.Binded)
                {
                    //已经绑定过
                    this.dicZbGatewayDiv[listId[i]] = 1;
                }
                else
                {
                    //需要重新绑定
                    this.dicZbGatewayDiv[listId[i]] = 2;
                }
                if (mode == GatewayBindMode.First)
                {
                    //我觉得这里需要获取一下新网关的设备列表
                    Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way);