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/FloorsManagementPage.cs |   49 +++++++++++++++++++++++++++++--------------------
 1 files changed, 29 insertions(+), 20 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs
index ce9d6e9..9b3fe94 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs
@@ -39,6 +39,10 @@
         /// 鍚庨��鍥炶皟浜嬩欢
         /// </summary>
         Action backAction;
+        /// <summary>
+        /// 鏈�鍚庝竴娆$偣鍑荤殑鎸夐挳
+        /// </summary>
+        Button lastButton;
 
         public FloorsManagementPage()
         {
@@ -61,11 +65,10 @@
         {
             bodyView.RemoveAll();
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-            refreshFloorList = (type,floor) => {
-                RefreshFloorsListView(type, floor);
+            refreshFloorList = (type,floorName) => {
+                RefreshFloorsListView(type, floorName);
             };
             new TopViewDiv(bodyView, Language.StringByID(StringId.FloorsManagement)).LoadTopView("floors",refreshFloorList,backAction);
-            //new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.FloorsManagement),"floors",topCallBcak);
 
             int count = DB_ResidenceData.residenceData.floors.Count > 8 ? 8 : DB_ResidenceData.residenceData.floors.Count;
             var contentViewHeight = (count + 1) * Application.GetRealHeight(50);
@@ -117,12 +120,12 @@
         /// 鍔犺浇妤煎眰Row
         /// </summary>
         /// <param name="floor"></param>
-        void LoadFloorRow(string floor)
+        void LoadFloorRow(Floor floor)
         {
             var row = new RowLayout()
             {
                 Height = Application.GetRealHeight(50),
-                Tag = floor,
+                Tag = floor.name,
                 LineColor = CSS_Color.DividingLineColor,
             };
             floorsListView.AddChidren(row);
@@ -134,26 +137,31 @@
                 TextSize = CSS_FontSize.SubheadingFontSize,
                 TextColor = CSS_Color.TextualColor,
                 SelectedTextColor = CSS_Color.MainColor,
-                Text = floor,
+                Text = floor.name,
+                Tag = floor.sid,
             };
             row.AddChidren(btnFloor);
 
             if (room == null)
             {
-
                 var btnDel = new Button()
                 {
                     TextID = StringId.Del,
                     BackgroundColor = CSS_Color.WarningColor,
                     TextColor = CSS_Color.MainBackgroundColor,
-                    Tag = floor
+                    Tag = floor.name
                 };
                 row.AddRightView(btnDel);
                 LoadEvent_DelFloor(btnDel);
-                LoadEvent_FloorNamgeChange(btnFloor,btnDel,row);
+                LoadEvent_FloorNamgeChange(btnFloor,btnDel,row,floor);
             }
             else {
                 LoadEvent_FloorChoose(btnFloor);
+                if (room.floorId == floor.sid)
+                {
+                    lastButton = btnFloor;
+                    btnFloor.IsSelected = true;
+                }
             }
         }
 
@@ -164,8 +172,9 @@
                 case "add":
                     try
                     {
-                        DB_ResidenceData.residenceData.floors.Add(floorName);
-                        LoadFloorRow(floorName);
+                        var f = new Floor() { sid = Guid.NewGuid().ToString(), name = floorName };
+                        DB_ResidenceData.residenceData.floors.Add(f);
+                        LoadFloorRow(f);
                     }
                     catch (Exception ex)
                     {
@@ -191,16 +200,16 @@
                     }
                     break;
                 case "del":
+                    //璇ユゼ灞傚垹闄や箣鍚庯紝缁戝畾璇ユゼ灞傜殑鎴块棿瑕侀噸缃粦瀹氱殑妤煎眰
+                    foreach (var r in DB_ResidenceData.residenceData.rooms)
+                    {
+                        if (r.floorId == DB_ResidenceData.residenceData.floors.Find((obj) => obj.name == floorName).sid)
+                        {
+                            r.floorId = "";
+                        }
+                    }
                     for (int i = 0; i < floorsListView.ChildrenCount; i++)
                     {
-                        //璇ユゼ灞傚垹闄や箣鍚庯紝缁戝畾璇ユゼ灞傜殑鎴块棿瑕侀噸缃粦瀹氱殑妤煎眰
-                        foreach (var r in DB_ResidenceData.residenceData.rooms)
-                        {
-                            if (r.floorIndex == DB_ResidenceData.residenceData.floors.IndexOf(floorName))
-                            {
-                                r.floorIndex = -1;
-                            }
-                        }
                         if (floorsListView.GetChildren(i).GetType() == typeof(Button))
                         {
                             Button btn = floorsListView.GetChildren(i) as Button;
@@ -221,7 +230,7 @@
                                 row.RemoveFromParent();
                             }
                         }
-                        DB_ResidenceData.residenceData.floors.Remove(floorName);
+                        DB_ResidenceData.residenceData.floors.Remove(DB_ResidenceData.residenceData.floors.Find((obj) => obj.name == floorName));
                     }
                     break;
             }

--
Gitblit v1.8.0