黄学彪
2020-04-02 9904031f5291daaf56985146bb671f25e18ebbdf
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs
@@ -55,6 +55,17 @@
        }
        /// <summary>
        /// 初始化控件(针对的是网关)
        /// </summary>
        /// <param name="i_caption">标题文本</param>
        /// <param name="i_gateway">网关对象</param>
        public void InitControl(string i_caption, ZigBee.Device.ZbGateway i_gateway)
        {
            var room = HdlGatewayLogic.Current.GetRoomByGateway(i_gateway);
            this.InitControl(i_caption, room);
        }
        /// <summary>
        /// 初始化控件(针对的是回路)
        /// </summary>
        /// <param name="i_caption">标题文本</param>
@@ -161,23 +172,29 @@
            var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
            if (dicFloor.Count == 0)
            {
                //第一位默认添加未分配
                var listKeys = new List<string>() { "" };
                var listName = new List<string>() { Language.StringByID(R.MyInternationalizationString.uUndistributed) };
                //房间名字和主键收集
                var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(string.Empty, false);
                if (listRoom.Count > 0)
                foreach (var myRoom in listRoom)
                {
                    //房间名字和主键收集
                    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);
                    listName.Add(myRoom.Name);
                    listKeys.Add(myRoom.Id);
                }
                listRoomName.Add(listName);
                listRoomKeys.Add(listKeys);
            }
            else
            {
                //第一位默认添加未分配(未分配放在楼层那个菜单)
                var listKeys = new List<string>() { "" };
                var listName = new List<string>() { "" };
                listRoomName.Add(listName);
                listRoomKeys.Add(listKeys);
                this.listFloorKeys.Add("");
                this.listFloorName.Add(Language.StringByID(R.MyInternationalizationString.uUndistributed));
                foreach (string fKeys in dicFloor.Keys)
                {
                    var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(fKeys, false);
@@ -187,8 +204,8 @@
                        this.listFloorKeys.Add(fKeys);
                        this.listFloorName.Add(dicFloor[fKeys]);
                        //房间名字和主键收集
                        var listName = new List<string>();
                        var listKeys = new List<string>();
                        listName = new List<string>();
                        listKeys = new List<string>();
                        foreach (var myRoom in listRoom)
                        {
                            listName.Add(myRoom.Name);
@@ -222,9 +239,16 @@
                //无楼层模式
                PickerView.Show(this.listRoomName[0], (value) =>
                {
                    //楼层+房间
                    txtView.Text = this.listRoomName[0][value];
                    RoomKey = this.listRoomKeys[0][value];
                    if (RoomKey != string.Empty)
                    {
                        //房间
                        txtView.Text = this.listRoomName[0][value];
                    }
                    else
                    {
                        txtView.Text = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
                    }
                    this.SelectRoomEvent?.Invoke(RoomKey);
                }, index2, i_caption,
@@ -236,10 +260,17 @@
                //有楼层模式
                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];
                    if (RoomKey != string.Empty)
                    {
                        //楼层+房间
                        txtView.Text = this.listFloorName[value1] + " " + this.listRoomName[value1][value2];
                    }
                    else
                    {
                        txtView.Text = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
                    }
                    this.SelectRoomEvent?.Invoke(RoomKey);
                }, index1, index2, i_caption,