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.CommonPage.MyEncodingUTF8.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(); }; } } }