黄学彪
2020-04-02 9904031f5291daaf56985146bb671f25e18ebbdf
ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs
@@ -197,6 +197,12 @@
            Common.LocalDevice.Current.SetDeviceIconToControl2(btnDeviceIcon, i_device);
            //检测设备是否是打开状态
            bool isOpen = this.CheckIsOpenStatu(i_device);
            if (this.isHadOpenSwitch == true && i_device.HadReadDeviceStatu == false)
            {
                //如果这个卡片有开关功能,并且网关还没有回复之前,默认是关闭状态
                //等待网关回复后会重新刷新,不然一直是关闭状态
                isOpen = false;
            }
            this.SetCardOpenStatu(isOpen);
        }
@@ -303,19 +309,24 @@
        /// <param name="room">房间</param>
        public void CardDetailInfoBackEvent(CommonDevice device, Common.Room room)
        {
            //如果是主页取消搜藏的话,回调卡片被删除的函数
            if (HdlRoomLogic.Current.CurrentRoom.IsLove
            && HdlRoomLogic.Current.IsCollectInRoom(device) == false)
            if (HdlRoomLogic.Current.CurrentRoom.IsLove == true)
            {
                this.CardNeedRemoveEvent?.Invoke();
                return;
                //如果是主页取消搜藏的话,回调卡片被删除的函数
                if (HdlRoomLogic.Current.IsCollectInRoom(device) == false)
                {
                    this.CardNeedRemoveEvent?.Invoke();
                    return;
                }
            }
            //如果这个设备改变了房间的话,回调卡片被删除的函数
            var nowRoom = HdlRoomLogic.Current.GetRoomByDevice(device);
            if (nowRoom == null || nowRoom.Id != HdlRoomLogic.Current.CurrentRoom.Id)
            else
            {
                this.CardNeedRemoveEvent?.Invoke();
                return;
                //如果这个设备改变了房间的话,回调卡片被删除的函数
                var nowRoom = HdlRoomLogic.Current.GetRoomByDevice(device);
                if (nowRoom == null || nowRoom.Id != HdlRoomLogic.Current.CurrentRoom.Id)
                {
                    this.CardNeedRemoveEvent?.Invoke();
                    return;
                }
            }
            //如果它还在这个房间的话,刷新卡片信息
            this.RefreshControlInfo(device);