From 7167334c0e89dd84827d59e726123d14776e3a09 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 16 六月 2020 11:14:13 +0800
Subject: [PATCH] 2020-06-16-1

---
 HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs |  186 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 155 insertions(+), 31 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs
index a2d5576..1b17009 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using Shared;
+using HDL_ON.Entity;
 
 namespace HDL_ON.UI
 {
@@ -13,6 +14,73 @@
             LoadEvent_PictureOptionView();
             LoadEvent_EditRoomName();
             LoadEvent_SkinBindFloor();
+            LoadEvent_SkipEditFunctionList();
+            LoadEvent_Option();
+        }
+
+        /// <summary>
+        /// 搴曢儴鎸夐挳浜嬩欢
+        /// </summary>
+        void LoadEvent_Option()
+        {
+            btnOption.MouseUpEventHandler += (sender, e) =>
+            {
+                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)
+                        {
+                            new PublicAssmebly().TipMsg(StringId.Tip, StringId.AddingFailed_RoomAlreadyExists);
+                            return;
+                        }
+                    }
+                    room.sid = Guid.NewGuid().ToString();
+                    DB_ResidenceData.residenceData.rooms.Add(room);
+                    DB_ResidenceData.residenceData.SaveResidenceData();
+                    backAction();
+                    this.RemoveFromParent();
+                }
+                if (btnOption.TextID == StringId.DeleteRoom)
+                {
+                    Action action = () =>
+                    {
+                        foreach (var f in DB_ResidenceData.residenceData.functionList.functions)
+                        {
+                            if (f.roomIdList.Contains(room.sid))
+                            {
+                                f.roomIdList.Remove(room.sid);
+                            }
+                        }
+                        room.sid = "";
+                        DB_ResidenceData.residenceData.rooms.Remove(room);
+                        DB_ResidenceData.residenceData.SaveResidenceData();
+                        backAction();
+                        this.RemoveFromParent();
+                    };
+                    new PublicAssmebly().TipMsg(StringId.Tip, StringId.DeleteRoomTip, action);
+                };
+            };
         }
 
         /// <summary>
@@ -33,15 +101,31 @@
         {
             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();
+                }
             };
             EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
             {
-                new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.name, callBack);
+                //new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.name, callBack);
             };
             btnEditRoomNameIcon.MouseUpEventHandler = eventHandler;
             roomNameRow.MouseUpEventHandler = eventHandler;
+            btnRoomName.MouseUpEventHandler = eventHandler;
         }
 
         /// <summary>
@@ -49,14 +133,35 @@
         /// </summary>
         void LoadEvent_SkinBindFloor()
         {
-            EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
-                var residentialManagePage = new FloorsManagementPage();
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                Action floorsCallBackAction = () =>
+                {
+                    btnFloorInfo.Text = room.floor;
+                };
+                var residentialManagePage = new FloorsManagementPage(floorsCallBackAction);
                 MainPage.BasePageView.AddChidren(residentialManagePage);
                 residentialManagePage.LoadPage(room);
                 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;
         }
 
 
@@ -70,39 +175,58 @@
                 pictureOptionView.RemoveFromParent();
             };
 
-            btnCancel.MouseUpEventHandler = (sender, e) => {
-                optionView.Animate = Animate.UpToDown;
-                btnCancel.Animate = Animate.UpToDown;
-                new System.Threading.Thread(() =>
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
+                pictureOptionView.RemoveFromParent();
+            };
+            btnTakePicture.MouseDownEventHandler = (sender, e) => {
+                btnTakePicture.IsSelected = true;
+            };
+            btnTakePicture.MouseUpEventHandler = (sender, e) =>
+            {
+                btnTakePicture.IsSelected = false;
+                var pid = Guid.NewGuid();
+                CropImage.TakePicture((imagePath) =>
                 {
-                    System.Threading.Thread.Sleep(500);
-                    Application.RunOnMainThread(() =>
+                    if (imagePath != null)
                     {
-                        pictureOptionView.RemoveFromParent();
-                    });
-                })
-                { IsBackground = true }.Start();
+                        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;
             };
 
-            btnTakePicture.MouseUpEventHandler = (sender, e) => {
+            btnAlbum.MouseUpEventHandler = (sender, e) =>
+            {
+                btnAlbum.IsSelected = false;
                 var pid = Guid.NewGuid();
-                Camera.TakePicture((obj) => {
-                    if (obj == null)
-                        return;
-                    btnRoomBg.UnSelectedImagePath = pid.ToString();
-                },pid.ToString(),false);
+                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();
             };
-
-            btnAlbum.MouseUpEventHandler = (sender, e) => {
-                var pid = Guid.NewGuid();
-                Camera.SelectPicture((obj) => {
-                    if (obj == null)
-                        return;
-                    btnRoomBg.UnSelectedImagePath = pid.ToString();
-                }, pid.ToString(), false);
-            };
-
-
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0