黄学彪
2020-05-21 98ceb6bd2021f9ff136cda27eef28676dd7b5d92
ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs
@@ -398,6 +398,11 @@
            //当前房间
            var listRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
            if (HdlRoomLogic.Current.NowMainPageRoom == null)
            {
                //设置第一个为初始房间
                HdlRoomLogic.Current.NowMainPageRoom = listRoom[0];
            }
            var curIndex = 0;
            for (int i = 0; i < listRoom.Count; i++)
            {
@@ -405,7 +410,7 @@
                roomPageView.AddChidren(roomView);
                roomView.Init(listRoom[i]);
                if (listRoom[i].Id == HdlRoomLogic.Current.CurrentRoom.Id)
                if (listRoom[i].Id == HdlRoomLogic.Current.NowMainPageRoom.Id)
                {
                    //当前房间,则显示那些数据出来
                    roomView.HideName(false);
@@ -470,7 +475,7 @@
                btnRoomRightShadow.Visible = true;
                btnRoomBottomShadow.Visible = true;
                //切换当前房间
                HdlRoomLogic.Current.CurrentRoom = listRoom[curIndex];
                HdlRoomLogic.Current.NowMainPageRoom = listRoom[curIndex];
                //刷新设备桌布控件
                this.isRoomChanging = false;
                this.RefreshBodyView();
@@ -532,7 +537,7 @@
            this.dicDeviceCardControl.Clear();
            var listDevice = new List<CommonDevice>();
            foreach (var mainkeys in HdlRoomLogic.Current.CurrentRoom.ListDevice)
            foreach (var mainkeys in HdlRoomLogic.Current.NowMainPageRoom.ListDevice)
            {
                var device = LocalDevice.Current.GetDevice(mainkeys);
                //判断该设备能否显示在主页
@@ -640,7 +645,7 @@
                    cardContr.X = XX;
                    cardContr.Y = YY;
                    listDeviceBackContr.AddChidren(cardContr);
                    cardContr.InitControl(device);
                    cardContr.InitControl(device, HdlRoomLogic.Current.NowMainPageRoom);
                    //卡片需要被移除的事件
                    cardContr.CardNeedRemoveEvent += () =>
                    {
@@ -787,7 +792,7 @@
            this.dicDeviceCardControl.Clear();
            var listScene = new List<SceneUI>();
            foreach (int sceneId in HdlRoomLogic.Current.CurrentRoom.ListSceneId)
            foreach (int sceneId in HdlRoomLogic.Current.NowMainPageRoom.ListSceneId)
            {
                var sceneUi = HdlSceneLogic.Current.GetSceneUIBySceneId(sceneId);
                if (sceneUi == null)
@@ -1054,7 +1059,9 @@
                    Application.RunOnMainThread(() =>
                    {
                        ShowForm();
                        //刷新界面
                        this.ShowForm();
                        CommonPage.Loading.Hide();
                    });
                })
@@ -1090,16 +1097,9 @@
                    {
                        //刷新卡片信息
                        var locadevice = LocalDevice.Current.GetDevice(mainKeys);
                        if (report.DeviceStatusReport.CluterID == 513 && report.DeviceStatusReport.AttriBute[0].AttributeId == 28)
                        {
                            //空调是特殊的,它的开关是属性上报来着.已经接收到网关的反馈
                            this.dicDeviceCardControl[mainKeys].SetHadGetResponeResultStatu();
                        }
                        if (report.DeviceStatusReport.CluterID == 514 && report.DeviceStatusReport.AttriBute[0].AttributeId == 0)
                        {
                            //新风是特殊的,它的开关是属性上报来着.已经接收到网关的反馈
                            this.dicDeviceCardControl[mainKeys].SetHadGetResponeResultStatu();
                        }
                        //已经接收到网关的反馈 2020.05.09:删除Ack主题
                        this.dicDeviceCardControl[mainKeys].SetHadGetResponeResultStatu();
                        //刷新控件
                        this.dicDeviceCardControl[mainKeys].RefreshControlInfo(locadevice);
                    }
                }, ShowErrorMode.NO);
@@ -1117,23 +1117,6 @@
                        bool bolOnline = Common.LocalDevice.Current.CheckDeviceIsOnline(report);
                        this.dicDeviceCardControl[mainKeys].SetCardOnlineStatu(bolOnline);
                        return;
                    }
                }, ShowErrorMode.NO);
            });
            //设备控制反馈上报
            HdlGatewayReceiveLogic.Current.AddAttributeEvent("UserHomeViewDeviceRespone", ReceiveComandDiv.A节点控制反馈, (report) =>
            {
                HdlThreadLogic.Current.RunMain(() =>
                {
                    string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
                    if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true)
                    {
                        //设备卡片
                        var deviceCardContr = this.dicDeviceCardControl[mainKeys];
                        //已经接收到网关的反馈
                        deviceCardContr.SetHadGetResponeResultStatu();
                    }
                }, ShowErrorMode.NO);
@@ -1184,7 +1167,7 @@
            floorFL.FloorAction = (floorId) =>
            {
                btnFloor.Text = Config.Instance.Home.GetFloorNameById(floorId);
                HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom();
                HdlRoomLogic.Current.NowMainPageRoom = HdlRoomLogic.Current.GetLoveRoom();
                this.ShowForm();
            };
        }