ZigbeeApp/Shared/Phone/UserCenter/Residence/FloorListRoomForm.cs
New file
@@ -0,0 +1,180 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.UserCenter.Residence
{
    /// <summary>
    /// 楼层的房间列表界面
    /// </summary>
    public class FloorListRoomForm : EditorCommonForm
    {
        #region ■ 变量声明___________________________
        /// <summary>
        /// 列表控件
        /// </summary>
        private VerticalListControl listView = null;
        /// <summary>
        /// 楼层的主键
        /// </summary>
        private string floorKeys = string.Empty;
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        /// <param name="i_floor">楼层的主键</param>
        public void ShowForm(string i_floor)
        {
            this.floorKeys = i_floor;
            //设置头部信息
            base.SetTitleText(Common.Config.Instance.Home.FloorDics[i_floor]);
            //主人或者管理员才会出现这个菜单
            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
            {
                //查看模板时,不允许编辑
                if (Common.Config.Instance.Home.IsShowTemplate == false)
                {
                    var btnIcon = new MostRightIconControl(69, 69);
                    btnIcon.UnSelectedImagePath = "Item/Add.png";
                    topFrameLayout.AddChidren(btnIcon);
                    btnIcon.InitControl();
                    btnIcon.ButtonClickEvent += ((sender, e) =>
                    {
                        var form = new AddNewRoomForm();
                        form.AddForm(i_floor);
                    });
                }
            }
            //初始化中部信息
            this.InitMiddleFrame();
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private void InitMiddleFrame()
        {
            //清空bodyFrame
            this.ClearBodyFrame();
            this.listView = new VerticalListControl(29);
            listView.Y = Application.GetRealHeight(-6);
            listView.Height = bodyFrameLayout.Height + Application.GetRealHeight(6);
            listView.BackgroundColor = UserCenterColor.Current.White;
            bodyFrameLayout.AddChidren(listView);
            //初始化房间列表
            this.InitRoomListRow();
        }
        /// <summary>
        /// 初始化房间列表
        /// </summary>
        private void InitRoomListRow()
        {
            //获取楼层的房间
            var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(this.floorKeys);
            this.listView.RemoveAll();
            listView.Height = bodyFrameLayout.Height + Application.GetRealHeight(6);
            for (int i = 0; i < listRoom.Count; i++)
            {
                //添加房间行
                this.AddRoomRow(listRoom[i], i != listRoom.Count - 1);
            }
            //调整控件真实高度
            listView.AdjustRealHeight(Application.GetRealHeight(23));
        }
        #endregion
        #region ■ 添加房间行_________________________
        /// <summary>
        /// 添加房间行
        /// </summary>
        /// <param name="room"></param>
        /// <param name="addLine"></param>
        private void AddRoomRow(Common.Room room, bool addLine)
        {
            var frameRow = new RowLayoutControl(listView.rowSpace / 2);
            listView.AddChidren(frameRow);
            //图标
            var btnIcon = frameRow.frameTable.AddLeftIcon(81);
            btnIcon.UnSelectedImagePath = "Item/RoomIconSelected.png";
            //名称
            var btnName = frameRow.frameTable.AddLeftCaption(room.Name, 600);
            btnName.TextSize = 15;
            //右箭头
            frameRow.frameTable.AddRightArrow();
            if (addLine == true)
            {
                //底线
                frameRow.frameTable.AddBottomLine();
            }
            frameRow.frameTable.ButtonClickEvent += (sender, e) =>
            {
                var form = new LookRoomSettionForm();
                form.AddForm(room);
            };
            if (room.IsSharedRoom == true)
            {
                //如果是分享的房间,不能编辑和修改
                return;
            }
            //编辑
            var btnEditor = frameRow.AddEditorControl();
            btnEditor.ButtonClickEvent += (sender, e) =>
            {
                var form = new EditorRoomInforForm();
                form.AddForm(room);
            };
            //查看模板时,不允许编辑
            if (Common.Config.Instance.Home.IsShowTemplate == true)
            {
                btnEditor.Text = Language.StringByID(R.MyInternationalizationString.uSearch1);
                return;
            }
            //删除
            var btnDelete = frameRow.AddDeleteControl();
            btnDelete.ButtonClickEvent += (sender, e) =>
            {
                //确认删除房间?
                this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uDeleteRoomMsg), () =>
                {
                    HdlRoomLogic.Current.RemoveRoom(room.Id);
                    //调整高度
                    frameRow.RemoveFromParent();
                    listView.AdjustRealHeight(Application.GetRealHeight(23));
                });
            };
        }
        #endregion
        #region ■ 界面重新激活事件___________________
        /// <summary>
        /// 自身的上层界面关闭后,它自身处于最上层时,触发的事件
        /// </summary>
        public override int FormActionAgainEvent()
        {
            //初始化房间列表
            this.InitRoomListRow();
            return 1;
        }
        #endregion
    }
}