黄学彪
2020-12-17 9f326f4000847e6167d8166fa2f6a66f53cb3734
ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs
@@ -22,7 +22,7 @@
        /// <summary>
        /// 桌布控件
        /// </summary>
        private FrameLayout frameTable = null;
        private NormalFrameLayout frameTable = null;
        /// <summary>
        /// 房间对象
        /// </summary>
@@ -68,7 +68,7 @@
            bodyFrameLayout.AddChidren(frameBack);
            //桌布控件
            this.frameTable = new FrameLayout();
            this.frameTable = new NormalFrameLayout();
            frameTable.Y = frameBack.Bottom;
            frameTable.Height = bodyFrameLayout.Height - frameBack.Height;
            bodyFrameLayout.AddChidren(frameTable);
@@ -78,16 +78,16 @@
            tempRoom.Name = Language.StringByID(R.MyInternationalizationString.uOther);
            foreach (var mainKeys in this.listEsixtDevice)
            {
                var device = Common.LocalDevice.Current.GetDevice(mainKeys);
                var device = HdlDeviceCommonLogic.Current.GetDevice(mainKeys);
                if (device == null)
                {
                    continue;
                }
                //这个手机弄弄,那个手机弄弄的情况下,
                //采用后备操作 -> 新建一个临时房间对象出来
                if (Common.Room.CurrentRoom.GetRoomByDevice(device) == null)
                if (HdlRoomLogic.Current.GetRoomByDevice(device) == null)
                {
                    tempRoom.DeviceUIList.Add(Common.LocalDevice.Current.GetDeviceUI(device));
                    tempRoom.ListDevice.Add(HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device));
                }
            }
@@ -98,7 +98,7 @@
                    //初始化房间控件
                    var listRoom = new List<Common.Room>();
                    listRoom.AddRange(dicRoom[nowSelectFloorId]);
                    if (tempRoom.DeviceUIList.Count > 0)
                    if (tempRoom.ListDevice.Count > 0)
                    {
                        //显示新建的临时房间对象
                        listRoom.Add(tempRoom);
@@ -123,6 +123,11 @@
                        //界面关闭
                        this.CloseForm();
                    };
                    //查看模板时,不允许编辑
                    if (Common.Config.Instance.Home.IsShowTemplate == true)
                    {
                        btnOk.CanClick = false;
                    }
                }
                else
                {
@@ -142,7 +147,8 @@
        private void InitTopRightMenuControl()
        {
            //房间分组
            foreach (var room in Common.Room.Lists)
            var listRoom = HdlRoomLogic.Current.GetAllListRooms();
            foreach (var room in listRoom)
            {
                //检测该房间能否显示
                if (this.CheckCanShowRow(room) == false)
@@ -162,7 +168,7 @@
            }
            //获取楼层
            var dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
            var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
            if (dicFloor.Count == 0)
            {
                return;
@@ -239,9 +245,9 @@
            frameTable.AddChidren(listView);
            var listDevice = new List<ZigBee.Device.CommonDevice>();
            foreach (var deviceUi in room.DeviceUIList)
            foreach (var deviceKeys in room.ListDevice)
            {
                var device = deviceUi.CommonDevice;
                var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                //检测设备
                if (this.CheckCanShowDevice(device) == true)
                {
@@ -252,15 +258,15 @@
            for (int i = 0; i < listDevice.Count; i++)
            {
                var device = listDevice[i];
                string mainKey = Common.LocalDevice.Current.GetDeviceMainKeys(device);
                string mainKey = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device);
                var rowDevice = new FrameRowControl(listView.rowSpace / 2);
                listView.AddChidren(rowDevice);
                //图标
                var btnIcon = rowDevice.AddLeftIcon(81);
                Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, device);
                HdlDeviceCommonLogic.Current.SetDeviceIconToControl(btnIcon, device);
                //设备名称
                var btnName = rowDevice.AddLeftCaption(Common.LocalDevice.Current.GetDeviceEpointName(device), 700);
                var btnName = rowDevice.AddLeftCaption(HdlDeviceCommonLogic.Current.GetDeviceEpointName(device), 700);
                btnName.TextSize = 15;
                //选择
                var btnSelect = rowDevice.AddMostRightEmptyIcon(58, 58);
@@ -287,6 +293,11 @@
                        listEsixtDevice.Remove(mainKey);
                    }
                };
                //查看模板时,不允许编辑
                if (Common.Config.Instance.Home.IsShowTemplate == true)
                {
                    rowDevice.CanClick = false;
                }
            }
            listDevice = null;
            //调整控件真实高度
@@ -314,7 +325,7 @@
        /// <returns></returns>
        private bool CheckCanShowRow(Common.Room room)
        {
            if (room.DeviceUIList.Count == 0)
            if (room.ListDevice.Count == 0)
            {
                return false;
            }
@@ -322,10 +333,11 @@
            {
                return false;
            }
            foreach (var deviceUi in room.DeviceUIList)
            foreach (var deviceKeys in room.ListDevice)
            {
                //检测该设备能否显示
                if (this.CheckCanShowDevice(deviceUi.CommonDevice) == false)
                var device = HdlDeviceCommonLogic.Current.GetDevice(deviceKeys);
                if (this.CheckCanShowDevice(device) == false)
                {
                    continue;
                }
@@ -348,7 +360,7 @@
                return false;
            }
            //如果是传感器,或者是没有开关簇的话(这里判断的是输入簇)
            if ((device.Type == ZigBee.Device.DeviceType.IASZone) || Common.LocalDevice.Current.InDeviceIsCanOnOff(device) == false)
            if ((device.Type == ZigBee.Device.DeviceType.IASZone) || HdlDeviceCommonLogic.Current.InDeviceIsCanOnOff(device) == false)
            {
                return false;
            }