From 7d005a7618e3d7a80d8ede3baf6ecc4bf8019cd5 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 01 九月 2020 15:22:09 +0800
Subject: [PATCH] 2020-09-01

---
 HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs |  109 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 86 insertions(+), 23 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs
index 2d492b1..d4c108f 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs
@@ -1,6 +1,7 @@
 锘縰sing System;
 using Shared;
 using HDL_ON.Entity;
+using System.Collections.Generic;
 
 namespace HDL_ON.UI
 {
@@ -16,6 +17,7 @@
             LoadEvent_SkinBindFloor();
             LoadEvent_SkipEditFunctionList();
             LoadEvent_Option();
+            LoadEvent_SkipSharedRoomFunctionPage();
         }
 
         /// <summary>
@@ -37,7 +39,17 @@
                         }.Show(bodyView);
                         return;
                     }
-                    foreach (var tempRoom in DB_ResidenceData.residenceData.rooms)
+                    if(string.IsNullOrEmpty( room.floorName))
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 3,
+                            Text = Language.StringByID(StringId.PlsBindFloor),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(bodyView);
+                        return;
+                    }
+                    foreach (var tempRoom in DB_ResidenceData.rooms)
                     {
                         if (room.name == tempRoom.name)
                         {
@@ -45,9 +57,8 @@
                             return;
                         }
                     }
-                    room.sid = Guid.NewGuid().ToString();
-                    DB_ResidenceData.residenceData.rooms.Add(room);
-                    DB_ResidenceData.residenceData.SaveResidenceData();
+
+                    DB_ResidenceData.DelRoom(room);
                     backAction();
                     this.RemoveFromParent();
                 }
@@ -55,7 +66,7 @@
                 {
                     Action action = () =>
                     {
-                        foreach (var f in DB_ResidenceData.residenceData.functionList.functions)
+                        foreach (var f in DB_ResidenceData.functionList.GetAllFunction())
                         {
                             if (f.roomIdList.Contains(room.sid))
                             {
@@ -63,7 +74,7 @@
                             }
                         }
                         room.sid = "";
-                        DB_ResidenceData.residenceData.rooms.Remove(room);
+                        DB_ResidenceData.DelRoom(room);
                         backAction();
                         this.RemoveFromParent();
                     };
@@ -90,16 +101,39 @@
         {
             Action<string> callBack = (str) =>
             {
+                //鎴块棿鍚嶇О涓嶈兘涓虹┖
+                if (string.IsNullOrEmpty(str))
+                {
+                    new Tip()
+                    {
+                        CloseTime = 3,
+                        Text = Language.StringByID(StringId.RoomNameCannotBeEmpty),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(bodyView);
+                    return;
+                }
                 btnRoomName.Text = btnTipRoomName.Text = str;
                 room.name = str;
                 if (pageTitleId == StringId.EditRoomInfo)
                 {
-                    DB_ResidenceData.residenceData.SaveResidenceData();
+                    room.SaveRoomData();
                 }
             };
             EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
             {
-                new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.name, callBack);
+                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.AddingFailed_RoomAlreadyExists, roomNameList);
+                }
+                else
+                {
+                    new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.name, callBack, StringId.RoomNameCannotBeEmpty, StringId.EidtFailed_RoomAlreadyExists, roomNameList);
+                }
             };
             btnEditRoomNameIcon.MouseUpEventHandler = eventHandler;
             roomNameRow.MouseUpEventHandler = eventHandler;
@@ -115,7 +149,7 @@
             {
                 Action floorsCallBackAction = () =>
                 {
-                    btnFloorInfo.Text = room.floor;
+                    btnFloorInfo.Text = room.floorName;
                 };
                 var residentialManagePage = new FloorsManagementPage(floorsCallBackAction);
                 MainPage.BasePageView.AddChidren(residentialManagePage);
@@ -133,7 +167,7 @@
         {
             EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
             {
-                var residentialManagePage = new RoomEditFunctionPage(room.sid);
+                var residentialManagePage = new RoomEditFunctionPage(room);
                 MainPage.BasePageView.AddChidren(residentialManagePage);
                 residentialManagePage.LoadPage();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -142,20 +176,52 @@
             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.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;
+            }
+        }
         /// <summary>
         /// 鍔犺浇鑳屾櫙鍥鹃�夋嫨鍖哄煙浜嬩欢鍒楄〃
         /// </summary>
-        void LoadEvent_PictureOptionViewEventList()
+        void LoadEvent_PictureOptionViewEventList(FrameLayout baseView)
         {
             pictureOptionView.MouseUpEventHandler = (sender, e) =>
             {
-                pictureOptionView.RemoveFromParent();
+                baseView.RemoveFromParent();
             };
 
+            baseView.MouseUpEventHandler = (sender, e) =>
+            {
+                baseView.RemoveFromParent();
+            };
             btnCancel.MouseUpEventHandler = (sender, e) =>
             {
-                pictureOptionView.RemoveFromParent();
+                baseView.RemoveFromParent();
             };
             btnTakePicture.MouseDownEventHandler = (sender, e) => {
                 btnTakePicture.IsSelected = true;
@@ -168,14 +234,14 @@
                 {
                     if (imagePath != null)
                     {
-                        btnRoomBg.UnSelectedImagePath = imagePath.ToString();
-                        room.backgroundImage = btnRoomBg.UnSelectedImagePath;
+                        btnRoomBg.ImagePath = imagePath.ToString();
+                        room.backgroundImage = btnRoomBg.ImagePath;
                         MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
                     }
                 }, pid.ToString(), 16, 9);
                 if (pageTitleId == StringId.EditRoomInfo)
                 {
-                    DB_ResidenceData.residenceData.SaveResidenceData();
+                    room.SaveRoomData();
                 }
                 pictureOptionView.RemoveFromParent();
             };
@@ -191,17 +257,14 @@
                 {
                     if (imagePath != null)
                     {
-                        btnRoomBg.UnSelectedImagePath = imagePath.ToString();
-                        room.backgroundImage = btnRoomBg.UnSelectedImagePath;
+                        btnRoomBg.ImagePath = imagePath.ToString();
+                        room.backgroundImage = btnRoomBg.ImagePath;
                         MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
-#if DEBUG
-                        new Tip() { CloseTime = 5, Text = imagePath }.Show(MainPage.BasePageView);
-#endif
                     }
                 }, pid.ToString(), 16, 9);
                 if (pageTitleId == StringId.EditRoomInfo)
                 {
-                    DB_ResidenceData.residenceData.SaveResidenceData();
+                    room.SaveRoomData();
                 }
                 pictureOptionView.RemoveFromParent();
             };

--
Gitblit v1.8.0