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 |  181 +++++++++++++++++++++++++++++++++------------
 1 files changed, 133 insertions(+), 48 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs
index f24e54b..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>
@@ -27,7 +29,27 @@
             {
                 if (btnOption.TextID == StringId.Save)
                 {
-                    foreach (var tempRoom in DB_ResidenceData.residenceData.rooms)
+                    if (string.IsNullOrEmpty(room.name))
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 3,
+                            Text = Language.StringByID(StringId.RoomNameCannotBeEmpty),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(bodyView);
+                        return;
+                    }
+                    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)
                         {
@@ -35,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();
                 }
@@ -45,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))
                             {
@@ -53,7 +74,7 @@
                             }
                         }
                         room.sid = "";
-                        DB_ResidenceData.residenceData.rooms.Remove(room);
+                        DB_ResidenceData.DelRoom(room);
                         backAction();
                         this.RemoveFromParent();
                     };
@@ -80,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;
@@ -105,7 +149,7 @@
             {
                 Action floorsCallBackAction = () =>
                 {
-                    btnFloorInfo.Text = room.floor;
+                    btnFloorInfo.Text = room.floorName;
                 };
                 var residentialManagePage = new FloorsManagementPage(floorsCallBackAction);
                 MainPage.BasePageView.AddChidren(residentialManagePage);
@@ -121,8 +165,9 @@
         /// </summary>
         void LoadEvent_SkipEditFunctionList()
         {
-            EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
-                var residentialManagePage = new RoomEditFunctionPage(room.sid);
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                var residentialManagePage = new RoomEditFunctionPage(room);
                 MainPage.BasePageView.AddChidren(residentialManagePage);
                 residentialManagePage.LoadPage();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -131,58 +176,98 @@
             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();
             };
 
-            btnCancel.MouseUpEventHandler = (sender, e) => {
-                //optionView.Animate = Animate.UpToDown;
-                //btnCancel.Animate = Animate.UpToDown;
-                //new System.Threading.Thread(() =>
-                //{
-                    //System.Threading.Thread.Sleep(500);
-                    //Application.RunOnMainThread(() =>
-                    //{
-                        pictureOptionView.RemoveFromParent();
-                    //});
-                //})
-                //{ IsBackground = true }.Start();
+            baseView.MouseUpEventHandler = (sender, e) =>
+            {
+                baseView.RemoveFromParent();
             };
-
-            btnTakePicture.MouseUpEventHandler = (sender, e) => {
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
+                baseView.RemoveFromParent();
+            };
+            btnTakePicture.MouseDownEventHandler = (sender, e) => {
+                btnTakePicture.IsSelected = true;
+            };
+            btnTakePicture.MouseUpEventHandler = (sender, e) =>
+            {
+                btnTakePicture.IsSelected = false;
                 var pid = Guid.NewGuid();
-                Camera.TakePicture((obj) => {
-                    if (obj == null)
-                        return;
-                    btnRoomBg.UnSelectedImagePath = pid.ToString();
-                },pid.ToString(),false);
-                if(pageTitleId == StringId.EditRoomInfo)
+                CropImage.TakePicture((imagePath) =>
                 {
-                    DB_ResidenceData.residenceData.SaveResidenceData();
-                }
-            };
-
-            btnAlbum.MouseUpEventHandler = (sender, e) => {
-                var pid = Guid.NewGuid();
-                Camera.SelectPicture((obj) => {
-                    if (obj == null)
-                        return;
-                    btnRoomBg.UnSelectedImagePath = pid.ToString();
-                }, pid.ToString(), false);
+                    if (imagePath != null)
+                    {
+                        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();
+            };
+            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();
+                }
+                pictureOptionView.RemoveFromParent();
+            };
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0