From 611786df5108dca0bdcff03834cc285cba4b8e61 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 13 十月 2020 16:48:43 +0800
Subject: [PATCH] 2020-10-13-1

---
 HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs |  159 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 121 insertions(+), 38 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs
index bf0edb7..e329801 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,6 +29,26 @@
             {
                 if (btnOption.TextID == StringId.Save)
                 {
+                    if (string.IsNullOrEmpty(room.name))
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 3,
+                            Text = Language.StringByID(StringId.RoomNameCannotBeEmpty),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(bodyView);
+                        return;
+                    }
+                    if(string.IsNullOrEmpty( room.floor))
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 3,
+                            Text = Language.StringByID(StringId.PlsBindFloor),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(bodyView);
+                        return;
+                    }
                     foreach (var tempRoom in DB_ResidenceData.residenceData.rooms)
                     {
                         if (room.name == tempRoom.name)
@@ -50,10 +72,11 @@
                             if (f.roomIdList.Contains(room.sid))
                             {
                                 f.roomIdList.Remove(room.sid);
-                                room.sid = "";
                             }
                         }
+                        room.sid = "";
                         DB_ResidenceData.residenceData.rooms.Remove(room);
+                        DB_ResidenceData.residenceData.SaveResidenceData();
                         backAction();
                         this.RemoveFromParent();
                     };
@@ -80,6 +103,17 @@
         {
             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)
@@ -89,7 +123,19 @@
             };
             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.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;
@@ -121,8 +167,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,7 +178,32 @@
             functionManagemantView.MouseUpEventHandler = eventHandler;
         }
 
-
+        /// <summary>
+        /// 璺宠浆鍒板姛鑳藉垎浜晫闈�
+        /// </summary>
+        void LoadEvent_SkipSharedRoomFunctionPage()
+        {
+            EventHandler<MouseEventArgs> eHandler = (sender, e) =>
+            {
+                List<ShareData> sds = new List<ShareData>();
+                foreach (var f in room.functions)
+                {
+                    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));
+                    //ssdd.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>
@@ -142,47 +214,58 @@
                 pictureOptionView.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();
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
+                pictureOptionView.RemoveFromParent();
             };
-
-            btnTakePicture.MouseUpEventHandler = (sender, e) => {
+            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.UnSelectedImagePath = imagePath.ToString();
+                        room.backgroundImage = btnRoomBg.UnSelectedImagePath;
+                        MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
+                    }
+                }, pid.ToString(), 16, 9);
                 if (pageTitleId == StringId.EditRoomInfo)
                 {
                     DB_ResidenceData.residenceData.SaveResidenceData();
                 }
+                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.UnSelectedImagePath = imagePath.ToString();
+                        room.backgroundImage = btnRoomBg.UnSelectedImagePath;
+                        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();
+                }
+                pictureOptionView.RemoveFromParent();
+            };
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0