using System;
|
using Shared;
|
using HDL_ON.Entity;
|
using System.Collections.Generic;
|
|
namespace HDL_ON.UI
|
{
|
public partial class RoomEditPage
|
{
|
/// <summary>
|
/// 加载事件列表
|
/// </summary>
|
void LoadEventList()
|
{
|
LoadEvent_PictureOptionView();
|
LoadEvent_EditRoomName();
|
LoadEvent_SkinBindFloor();
|
LoadEvent_SkipEditFunctionList();
|
LoadEvent_Option();
|
//LoadEvent_SkipSharedRoomFunctionPage();
|
}
|
|
/// <summary>
|
/// 底部按钮事件
|
/// </summary>
|
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.roomIds.Contains(room.sid))
|
{
|
f.roomIds.Remove(room.sid);
|
}
|
}
|
DB_ResidenceData.DelRoom(room);
|
//删除事件回调
|
this.deleteAction?.Invoke();
|
this.RemoveFromParent();
|
};
|
new PublicAssmebly().TipMsg(StringId.Tip, StringId.DeleteRoomTip, action);
|
};
|
};
|
}
|
|
/// <summary>
|
/// 显示背景图选择选项
|
/// </summary>
|
void LoadEvent_PictureOptionView()
|
{
|
btnRoomBg.MouseUpEventHandler = (sender, e) =>
|
{
|
LoadPictureOptionView();
|
};
|
}
|
|
/// <summary>
|
/// 加载修改房间名称窗口事件
|
/// </summary>
|
void LoadEvent_EditRoomName()
|
{
|
Action<string> 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<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
List<string> roomNameList = new List<string>();
|
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;
|
}
|
|
/// <summary>
|
/// 跳转绑定楼层界面
|
/// </summary>
|
void LoadEvent_SkinBindFloor()
|
{
|
EventHandler<MouseEventArgs> 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;
|
}
|
|
/// <summary>
|
/// 跳转到编辑房间功能界面
|
/// </summary>
|
void LoadEvent_SkipEditFunctionList()
|
{
|
EventHandler<MouseEventArgs> 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;
|
}
|
|
///// <summary>
|
///// 跳转到功能分享界面
|
///// </summary>
|
//void LoadEvent_SkipSharedRoomFunctionPage()
|
//{
|
// if (pageTitleId != StringId.AddRoom)
|
// {
|
// EventHandler<MouseEventArgs> eHandler = (sender, e) =>
|
// {
|
// List<ShareData> sds = new List<ShareData>();
|
// 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;
|
// }
|
//}
|
/// <summary>
|
/// 加载背景图选择区域事件列表
|
/// </summary>
|
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);
|
|
//var imageName = Guid.NewGuid().ToString();
|
var imageName = room.sid;
|
CropImage.TakePicture((imagePath) =>
|
{
|
CropImageCallBack(imagePath, imageName);
|
|
}, imageName, 16, 9);
|
|
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);
|
|
//从相册选择图片裁剪
|
//var imageName = Guid.NewGuid().ToString();
|
var imageName = room.sid;
|
CropImage.SelectPicture((imagePath) =>
|
{
|
CropImageCallBack(imagePath, imageName);
|
|
}, imageName, 16, 9);
|
|
baseView.RemoveFromParent();
|
|
};
|
|
//房间默认图库
|
btnDefaultGallery.MouseUpEventHandler = (sender, e) => {
|
pictureOptionView.Parent.RemoveFromParent();
|
Action<string> action = (obj) => {
|
room.backgroundImage = obj;
|
btnRoomBg.ImagePath = room.backgroundImage;
|
if (pageTitleId == StringId.EditRoomInfo)
|
{
|
room.SaveRoomData();
|
}
|
};
|
|
var galleryPage = new RoomGalleryPage(room.backgroundImage, action);
|
MainPage.BasePageView.AddChidren(galleryPage);
|
galleryPage.LoadPage(true);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
|
};
|
}
|
|
/// <summary>
|
/// 裁剪完照片回调,统一处理
|
/// </summary>
|
/// <param name="imagePath">裁剪后的真实路径</param>
|
/// <param name="imageName">自定义的图片名称</param>
|
void CropImageCallBack(string imagePath, string imageName)
|
{
|
if (string.IsNullOrEmpty(imagePath) == true)
|
{
|
return;
|
}
|
try
|
{
|
var mPath = imagePath;
|
MainPage.Log("SelectPicture 裁剪图片返回路径: " + imagePath);
|
#if __IOS__
|
|
|
#else
|
//imageName = imageName + ".png";
|
|
//1.使用新名字,解决相同路径不刷新图片问题
|
imageName = Guid.NewGuid().ToString() + ".png";
|
//1.2如果是自定义图片删除之前的
|
if (!btnRoomBg.ImagePath.Contains("Room")) {
|
Utlis.WriteLine("删除: " + btnRoomBg.ImagePath);
|
System.IO.File.Delete(btnRoomBg.ImagePath);
|
}
|
//1.3如果是安卓需要拷贝回来APP根目录
|
FileUtils.FileCopyToRootPath(imagePath, imageName);
|
System.IO.File.Delete(imagePath);
|
mPath = imageName;
|
#endif
|
//清空原来图片
|
btnRoomBg.ImagePath = "NULL";
|
//生成图片
|
room.backgroundImage = mPath;
|
btnRoomBg.ImagePath = mPath;
|
|
if (pageTitleId == StringId.EditRoomInfo)
|
{
|
room.SaveRoomData();
|
}
|
}
|
catch { }
|
}
|
}
|
}
|