using System;
|
using System.Collections.Generic;
|
using HDL_ON.Entity;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public partial class FloorsManagementPage
|
{
|
/// <summary>
|
/// 楼层按钮修改名称点击事件
|
/// </summary>
|
void LoadEvent_FloorNamgeChange(Button btn,SpatialInfo floor)
|
{
|
btn.MouseUpEventHandler = (sender, e) =>
|
{
|
Action<string> editCallBack = (newName) =>
|
{
|
//楼层名称不能为空
|
if (string.IsNullOrEmpty(newName))
|
{
|
new Tip()
|
{
|
CloseTime = 1,
|
Text = Language.StringByID(StringId.FloorNameCannotBeEmpty),
|
Direction = AMPopTipDirection.None,
|
}.Show(bodyView);
|
return;
|
}
|
if (SpatialInfo.CurrentSpatial.FloorList.Find((obj) => obj.roomName == newName) != null)
|
{
|
return;
|
}
|
else
|
{
|
var waitPage = new Loading();
|
MainPage.BaseView.AddChidren(waitPage);
|
waitPage.Start(Language.StringByID(StringId.PleaseWait));
|
new System.Threading.Thread(() =>
|
{
|
try
|
{
|
var editResult = SpatialInfo.CurrentSpatial.UpdateFloor(floor);
|
Application.RunOnMainThread(() =>
|
{
|
if (editResult == DAL.Server.StateCode.SUCCESS)
|
{
|
floor.roomName = newName;
|
btn.Text = newName;
|
}
|
});
|
}
|
catch { }
|
finally
|
{
|
Application.RunOnMainThread(() => {
|
waitPage.Hide();
|
waitPage.RemoveFromParent();
|
});
|
}
|
})
|
{ IsBackground = true }.Start();
|
}
|
};
|
var floors = new List<string>();
|
foreach (var f in SpatialInfo.CurrentSpatial.FloorList)
|
{
|
floors.Add(f.roomName);
|
}
|
new PublicAssmebly().LoadDialog_EditParater(StringId.EditFloorName, btn.Text, editCallBack,StringId.FloorNameCannotBeEmpty,
|
StringId.EditFloorFailed_FloorAlreadyExist,floors);
|
};
|
}
|
|
/// <summary>
|
/// 删除楼层
|
/// </summary>
|
void LoadEvent_DelFloor(Button btn)
|
{
|
btn.MouseUpEventHandler += (sender, e) =>
|
{
|
Action action = () =>
|
{
|
//该楼层删除之后,绑定该楼层的房间要重置绑定的楼层
|
foreach (var r in SpatialInfo.CurrentSpatial.RoomList)
|
{
|
if (r.parentId == btn.Tag.ToString())
|
{
|
r.parentId = "";
|
}
|
}
|
SpatialInfo.CurrentSpatial.DelFloor(btn.Tag.ToString());
|
for (int i = 0; i < floorsListView.ChildrenCount; i++)
|
{
|
if (floorsListView.GetChildren(i).GetType() == typeof(RowLayout))
|
{
|
RowLayout row = floorsListView.GetChildren(i) as RowLayout;
|
if (row.Tag == null)
|
continue;
|
if (row.Tag.ToString() == btn.Tag.ToString())
|
{
|
row.RemoveFromParent();
|
int count = SpatialInfo.CurrentSpatial.FloorList.Count > 8 ? 8 : SpatialInfo.CurrentSpatial.FloorList.Count;
|
var contentViewHeight = (count + 1) * Application.GetRealHeight(50);
|
contentView.Height = contentViewHeight;
|
floorsListView.Height = count * Application.GetRealHeight(50);
|
}
|
}
|
}
|
};
|
new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DelFloorTip, action);
|
};
|
}
|
}
|
}
|