HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-10-28 8b4d79ca03495e522a1953e04ca17527f33c853a
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs
@@ -131,9 +131,15 @@
                txtView.Y += chidrenYaxis;
            }
            if (IsSharedRoom == true || this.listFloorKeys.Count == 0)
            if (IsSharedRoom == true)
            {
                //如果这个设备位于分享的房间,或者根本就没有创建房间,则不允许更改
                //如果这个设备位于分享的房间
                this.UseClickStatu = false;
                return;
            }
            if (this.listFloorKeys.Count == 0 && listRoomKeys.Count == 0)
            {
                //或者根本就没有创建房间,则不允许更改
                this.UseClickStatu = false;
                return;
            }
@@ -153,14 +159,11 @@
        private void InitData()
        {
            var dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
            foreach (string fKeys in dicFloor.Keys)
            if (dicFloor.Count == 0)
            {
                var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(fKeys, false);
                var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(string.Empty, false);
                if (listRoom.Count > 0)
                {
                    //楼层名字和主键收集
                    this.listFloorKeys.Add(fKeys);
                    this.listFloorName.Add(dicFloor[fKeys]);
                    //房间名字和主键收集
                    var listName = new List<string>();
                    var listKeys = new List<string>();
@@ -171,6 +174,29 @@
                    }
                    listRoomName.Add(listName);
                    listRoomKeys.Add(listKeys);
                }
            }
            else
            {
                foreach (string fKeys in dicFloor.Keys)
                {
                    var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(fKeys, false);
                    if (listRoom.Count > 0)
                    {
                        //楼层名字和主键收集
                        this.listFloorKeys.Add(fKeys);
                        this.listFloorName.Add(dicFloor[fKeys]);
                        //房间名字和主键收集
                        var listName = new List<string>();
                        var listKeys = new List<string>();
                        foreach (var myRoom in listRoom)
                        {
                            listName.Add(myRoom.Name);
                            listKeys.Add(myRoom.Id);
                        }
                        listRoomName.Add(listName);
                        listRoomKeys.Add(listKeys);
                    }
                }
            }
        }
@@ -191,17 +217,35 @@
            int index2 = this.listRoomKeys[index1].IndexOf(RoomKey);
            if (index2 == -1) { index2 = 0; }
            PickerView.ShowSecondary(this.listFloorName, this.listRoomName, (value1, value2) =>
            if (this.listFloorKeys.Count == 0)
            {
                //楼层+房间
                txtView.Text = this.listFloorName[value1] + " " + this.listRoomName[value1][value2];
                FloorKey = this.listFloorKeys[value1];
                RoomKey = this.listRoomKeys[value1][value2];
                this.SelectRoomEvent?.Invoke(RoomKey);
                //无楼层模式
                PickerView.Show(this.listRoomName[0], (value) =>
                {
                    //楼层+房间
                    txtView.Text = this.listRoomName[0][value];
                    RoomKey = this.listRoomKeys[0][value];
                    this.SelectRoomEvent?.Invoke(RoomKey);
            }, index1, index2, i_caption,
            Language.StringByID(R.MyInternationalizationString.uFinish),
            Language.StringByID(R.MyInternationalizationString.uCancel));
                }, index2, i_caption,
                Language.StringByID(R.MyInternationalizationString.uFinish),
                Language.StringByID(R.MyInternationalizationString.uCancel));
            }
            else
            {
                //有楼层模式
                PickerView.ShowSecondary(this.listFloorName, this.listRoomName, (value1, value2) =>
                {
                    //楼层+房间
                    txtView.Text = this.listFloorName[value1] + " " + this.listRoomName[value1][value2];
                    FloorKey = this.listFloorKeys[value1];
                    RoomKey = this.listRoomKeys[value1][value2];
                    this.SelectRoomEvent?.Invoke(RoomKey);
                }, index1, index2, i_caption,
                Language.StringByID(R.MyInternationalizationString.uFinish),
                Language.StringByID(R.MyInternationalizationString.uCancel));
            }
        }
        #endregion