using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.UserCenter.Residence
{
///
/// 楼层的房间列表界面
///
public class FloorListRoomForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 列表控件
///
private VerticalListControl listView = null;
///
/// 楼层的主键
///
private string floorKeys = string.Empty;
///
/// 房间顺序
///
private List listRoomSort = new List();
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 楼层的主键
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)
{
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();
}
///
/// 初始化中部信息
///
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();
}
///
/// 初始化房间列表
///
private void InitRoomListRow()
{
//获取楼层的房间
var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(this.floorKeys);
this.listRoomSort.Clear();
for (int i = 0; i < listRoom.Count; i++)
{
this.listRoomSort.Add(listRoom[i].Id);
}
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 ■ 添加房间行_________________________
///
/// 添加房间行
///
///
///
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);
};
//删除
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));
//保存顺序
this.listRoomSort.Remove(room.Id);
HdlRoomLogic.Current.SaveRoomSort(floorKeys, this.listRoomSort);
});
};
}
#endregion
#region ■ 界面重新激活事件___________________
///
/// 自身的上层界面关闭后,它自身处于最上层时,触发的事件
///
public override int FormActionAgainEvent()
{
//初始化房间列表
this.InitRoomListRow();
return 1;
}
#endregion
}
}