黄学彪
2020-07-13 23420922845c9e77019a55c3b3e3271eb1ec261e
ZigbeeApp/Shared/Phone/Category/AdjustTargetAddSceneForm.cs
@@ -38,6 +38,10 @@
        /// 场景列表控件
        /// </summary>
        private VerticalListControl listSceneView = null;
        /// <summary>
        /// 当前选择的楼层
        /// </summary>
        private string nowSelectFloorId = string.Empty;
        #endregion
@@ -53,6 +57,9 @@
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.AddScence));
            //初始化右上角的控件
            this.InitTopRightMenuControl();
            //初始化中部信息
            this.InitMiddleFrame();
        }
@@ -62,6 +69,9 @@
        /// </summary>
        private void InitMiddleFrame()
        {
            //清空body
            this.ClearBodyFrame();
            //获取能够显示的房间列表
            var listRoom = this.GetCanShowRoomList();
            if (listRoom.Count == 0)
@@ -96,7 +106,10 @@
            this.btnFinishControl = new BottomClickButton();
            btnFinishControl.TextID = R.MyInternationalizationString.uFinish;
            bodyFrameLayout.AddChidren(btnFinishControl);
            btnFinishControl.Visible = false;
            if (this.listNewScene == null || this.listNewScene.Count == 0)
            {
                btnFinishControl.Visible = false;
            }
            btnFinishControl.ButtonClickEvent += (sender, e) =>
            {
                //回调函数
@@ -106,6 +119,54 @@
            //执行初始化(会自动触发SelectRoomEvent事件)
            roomSwitchContr.InitControl();
        }
        /// <summary>
        /// 初始化右上角的控件
        /// </summary>
        private void InitTopRightMenuControl()
        {
            //获取楼层
            var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
            if (dicFloor.Count == 0)
            {
                return;
            }
            var btnIconContr = new MostRightIconControl(69, 69);
            btnIconContr.UnSelectedImagePath = "Item/Drop_Down.png";
            topFrameLayout.AddChidren(btnIconContr);
            btnIconContr.InitControl();
            var btnFloor = new NormalViewControl(300, 69, true);
            btnFloor.Gravity = Gravity.CenterVertical;
            btnFloor.X = btnIconContr.X + btnIconContr.btnIcon.X - Application.GetRealWidth(300);
            btnFloor.TextAlignment = TextAlignment.CenterRight;
            topFrameLayout.AddChidren(btnFloor);
            foreach (var floorId in dicFloor.Keys)
            {
                //第一个楼层
                this.nowSelectFloorId = floorId;
                btnFloor.Text = dicFloor[floorId];
                break;
            }
            btnIconContr.ButtonClickEvent += (sender, e) =>
            {
                //楼层菜单
                var contr = new TopRightFloorMenuControl(dicFloor.Count, 2, this.nowSelectFloorId, Language.StringByID(R.MyInternationalizationString.SelectFloor));
                foreach (var floorId in dicFloor.Keys)
                {
                    contr.AddRowMenu(floorId, () =>
                    {
                        //记录起选择的ID
                        this.nowSelectFloorId = floorId;
                        btnFloor.Text = dicFloor[this.nowSelectFloorId];
                        //初始化中部信息
                        this.InitMiddleFrame();
                    });
                }
            };
        }
        #endregion
@@ -209,19 +270,23 @@
        /// <returns></returns>
        private List<Room> GetCanShowRoomList()
        {
            //先列表化
            this.listOldSceneId = new List<int>();
            this.listNewScene = new List<int>();
            foreach (var data in this.listAdjustTarget)
            if (this.listNewScene == null)
            {
                if (data.Type == 1)
                //先列表化
                this.listOldSceneId = new List<int>();
                this.listNewScene = new List<int>();
                foreach (var data in this.listAdjustTarget)
                {
                    //只要场景
                    listOldSceneId.Add(data.ElseScenesId);
                    if (data.Type == 1)
                    {
                        //只要场景
                        listOldSceneId.Add(data.ElseScenesId);
                    }
                }
            }
            //当前楼层的全部房间
            var lisrRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
            var lisrRoom = HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(this.nowSelectFloorId);
            var listShowRoom = new List<Room>();
            foreach (var room in lisrRoom)
            {