using System;
using Shared;
using HDL_ON.Entity;
using System.Collections.Generic;
namespace HDL_ON.UI
{
public partial class RoomEditPage
{
///
/// 加载事件列表
///
void LoadEventList()
{
LoadEvent_PictureOptionView();
LoadEvent_EditRoomName();
LoadEvent_SkinBindFloor();
LoadEvent_SkipEditFunctionList();
LoadEvent_Option();
//LoadEvent_SkipSharedRoomFunctionPage();
}
///
/// 底部按钮事件
///
void LoadEvent_Option()
{
btnOption.MouseUpEventHandler = (sender, e) =>
{
if (btnOption.TextID == StringId.Save)
{
if (string.IsNullOrEmpty(room.name))
{
new Tip()
{
CloseTime = 1,
Text = Language.StringByID(StringId.RoomNameCannotBeEmpty),
Direction = AMPopTipDirection.None,
}.Show(bodyView);
return;
}
if(string.IsNullOrEmpty( room.floorName))
{
new Tip()
{
CloseTime = 1,
Text = Language.StringByID(StringId.PlsBindFloor),
Direction = AMPopTipDirection.None,
}.Show(bodyView);
return;
}
foreach (var tempRoom in DB_ResidenceData.rooms)
{
if (room.name == tempRoom.name)
{
new PublicAssmebly().TipMsg(StringId.Tip, StringId.AddingFailed_RoomAlreadyExists);
return;
}
}
DB_ResidenceData.rooms.Add(room);
room.SaveRoomData();
backAction();
this.RemoveFromParent();
}
if (btnOption.TextID == StringId.DeleteRoom)
{
Action action = () =>
{
foreach (var f in DB_ResidenceData.functionList.GetAllFunction())
{
if (f.roomIdList.Contains(room.sid))
{
f.roomIdList.Remove(room.sid);
}
}
DB_ResidenceData.DelRoom(room);
backAction();
this.RemoveFromParent();
};
new PublicAssmebly().TipMsg(StringId.Tip, StringId.DeleteRoomTip, action);
};
};
}
///
/// 显示背景图选择选项
///
void LoadEvent_PictureOptionView()
{
btnRoomBg.MouseUpEventHandler = (sender, e) =>
{
LoadPictureOptionView();
};
}
///
/// 加载修改房间名称窗口事件
///
void LoadEvent_EditRoomName()
{
Action callBack = (str) =>
{
//房间名称不能为空
if (string.IsNullOrEmpty(str))
{
new Tip()
{
CloseTime = 1,
Text = Language.StringByID(StringId.RoomNameCannotBeEmpty),
Direction = AMPopTipDirection.None,
}.Show(bodyView);
return;
}
btnRoomName.Text = str;
room.name = str;
if (pageTitleId == StringId.EditRoomInfo)
{
room.SaveRoomData();
}
};
EventHandler eventHandler = (sender, e) =>
{
List roomNameList = new List();
foreach (var rroom in DB_ResidenceData.rooms)
{
roomNameList.Add(rroom.name);
}
if (pageTitleId == StringId.AddRoom)
{
new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.name, callBack, StringId.RoomNameCannotBeEmpty, StringId.RoomNameAlreadyExists, roomNameList);
}
else
{
new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.name, callBack, StringId.RoomNameCannotBeEmpty, StringId.EidtFailed_RoomAlreadyExists, roomNameList);
}
};
btnEditRoomNameIcon.MouseUpEventHandler = eventHandler;
roomNameRow.MouseUpEventHandler = eventHandler;
btnRoomName.MouseUpEventHandler = eventHandler;
}
///
/// 跳转绑定楼层界面
///
void LoadEvent_SkinBindFloor()
{
EventHandler eventHandler = (sender, e) =>
{
Action floorsCallBackAction = () =>
{
btnFloorInfo.Text = room.floorName;
};
var residentialManagePage = new FloorsManagementPage(floorsCallBackAction);
MainPage.BasePageView.AddChidren(residentialManagePage);
residentialManagePage.LoadPage(room, StringId.FloorAssignment);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
btnFloorInfo.MouseUpEventHandler = eventHandler;
floorView.MouseUpEventHandler = eventHandler;
}
///
/// 跳转到编辑房间功能界面
///
void LoadEvent_SkipEditFunctionList()
{
EventHandler eventHandler = (sender, e) =>
{
var residentialManagePage = new RoomEditFunctionPage(room);
MainPage.BasePageView.AddChidren(residentialManagePage);
residentialManagePage.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
btnFunctionManagementRight.MouseUpEventHandler = eventHandler;
functionManagemantView.MouseUpEventHandler = eventHandler;
}
/////
///// 跳转到功能分享界面
/////
//void LoadEvent_SkipSharedRoomFunctionPage()
//{
// if (pageTitleId != StringId.AddRoom)
// {
// EventHandler eHandler = (sender, e) =>
// {
// List sds = new List();
// foreach (var f in room.GetRoomFunctions(false))
// {
// var sd = new ShareData();
// sd.ShareName = f.sid;
// sd.HouseDistributedMark = DB_ResidenceData.residenceData.residecenInfo.RegionID;
// sd.ShareDataBytes = DAL.System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(f));
// //sd.SubAccountDistributedMark = memberInfo.SubAccountDistributedMark;
// sds.Add(sd);
// }
// var mmp = new MemberFunctionPermissionPage(room, sds);
// MainPage.BasePageView.AddChidren(mmp);
// mmp.LoadPage(StringId.ChooseSharedFunction);
// MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
// };
// btnSharedRight.MouseUpEventHandler = eHandler;
// sharedView.MouseUpEventHandler = eHandler;
// btnSharedTitle.MouseUpEventHandler = eHandler;
// }
//}
///
/// 加载背景图选择区域事件列表
///
void LoadEvent_PictureOptionViewEventList(FrameLayout baseView)
{
pictureOptionView.MouseUpEventHandler = (sender, e) =>
{
baseView.RemoveFromParent();
};
baseView.MouseUpEventHandler = (sender, e) =>
{
baseView.RemoveFromParent();
};
btnCancel.MouseUpEventHandler = (sender, e) =>
{
baseView.RemoveFromParent();
};
btnTakePicture.MouseDownEventHandler = (sender, e) => {
btnTakePicture.IsSelected = true;
};
btnTakePicture.MouseUpEventHandler = (sender, e) =>
{
btnTakePicture.IsSelected = false;
var pid = Guid.NewGuid();
CropImage.TakePicture((imagePath) =>
{
if (imagePath != null)
{
btnRoomBg.ImagePath = imagePath.ToString();
room.backgroundImage = btnRoomBg.ImagePath;
MainPage.Log("SelectPicture 裁剪图片返回路径: " + imagePath);
}
}, pid.ToString(), 16, 9);
if (pageTitleId == StringId.EditRoomInfo)
{
room.SaveRoomData();
}
baseView.RemoveFromParent();
};
btnAlbum.MouseDownEventHandler = (sender, e) => {
btnAlbum.IsSelected = true;
};
btnAlbum.MouseUpEventHandler = (sender, e) =>
{
btnAlbum.IsSelected = false;
var pid = Guid.NewGuid();
CropImage.SelectPicture((imagePath) =>
{
if (imagePath != null)
{
btnRoomBg.ImagePath = imagePath.ToString();
room.backgroundImage = btnRoomBg.ImagePath;
MainPage.Log("SelectPicture 裁剪图片返回路径: " + imagePath);
}
}, pid.ToString(), 16, 9);
if (pageTitleId == StringId.EditRoomInfo)
{
room.SaveRoomData();
}
baseView.RemoveFromParent();
};
}
}
}