From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 16 四月 2020 17:10:57 +0800
Subject: [PATCH] 请合并代码

---
 ZigbeeApp/Shared/Common/House.cs |   97 +++++++++++++++++++++++++++++-------------------
 1 files changed, 58 insertions(+), 39 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/House.cs b/ZigbeeApp/Shared/Common/House.cs
index 436c302..d8a2c06 100755
--- a/ZigbeeApp/Shared/Common/House.cs
+++ b/ZigbeeApp/Shared/Common/House.cs
@@ -55,11 +55,15 @@
         /// 绾害
         /// </summary>
         public double Latitude = 0;
+        /// <summary>
+        /// 浣忓畢鎵�鍦ㄧ殑鍦扮悊浣嶇疆鐨勫悕绉�
+        /// </summary>
+        public string ResidenceAddressName = string.Empty;
 
         /// <summary>
-        /// 鎴块棿璺緞鍒楄〃
+        /// 鎴块棿鍒楄〃(鎴块棿鐨処D)
         /// </summary>
-        public List<string> RoomFilePathList = new List<string> { };
+        public List<string> ListRooms = new List<string>();
 
         /// <summary>
         /// 妤煎眰瀛楀吀
@@ -68,9 +72,9 @@
         /// </summary>
         public Dictionary<string,string> FloorDics = new Dictionary<string,string> { };
         /// <summary>
-        /// 褰撳墠妤煎眰
+        /// 褰撳墠妤煎眰Id
         /// </summary>
-        public string CurrentFloorId;
+        public string CurrentFloorId = string.Empty;
 
         /// <summary>
         /// 鍏ㄥ眬鍦烘櫙璺緞鍒楄〃---澶囩敤
@@ -235,8 +239,6 @@
         /// </summary>
         public static async System.Threading.Tasks.Task<List<string>> GetHomeLists()
         {
-            //娓呯┖褰撳墠浣忓畢鍒楄〃
-            Config.Instance.HomeFilePathList.Clear();
             var pageSetting = new SendDataToServer.ResidenceListPageSettingObj()
             {
                 PageSize = CommonPage.PageSize
@@ -266,7 +268,7 @@
                     if (responseDataObj.TotalCount == 0)
                     {
                         //褰撲綇瀹呬负绌烘椂鍏堟彁绀虹敤鎴锋柊寤轰綇瀹�
-                        var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.CurrentlyTheUserIshHouseIsEmptyPleaseBuildANewHouseFirst), Language.StringByID(R.MyInternationalizationString.Close), Language.StringByID(R.MyInternationalizationString.OK));
+                        var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.CurrentlyTheUserIshHouseIsEmptyPleaseBuildANewHouseFirst), Language.StringByID(R.MyInternationalizationString.Close), Language.StringByID(R.MyInternationalizationString.Confrim));
                         alert.Show();
                         alert.ResultEventHandler += (sender, e) =>
                         {
@@ -278,11 +280,9 @@
                     }
                     else
                     {
-                        if (Config.Instance.HomeId == string.Empty && responseDataObj.PageData.Count > 0)
-                        {
-                            //璧嬩竴涓垵濮嬪��
-                            Config.Instance.HomeId = responseDataObj.PageData[0].Id;
-                        }
+                        //娓呯┖褰撳墠浣忓畢鍒楄〃
+                        Config.Instance.HomeFilePathList.Clear();
+                        var listHouse = new List<House>();
                         foreach (var residence in responseDataObj.PageData)
                         {
                             Config.Instance.HomeFilePathList.Add($"House_{residence.Id}.json");
@@ -311,19 +311,26 @@
                                 house.Latitude = residence.Latitude;
                             }
                             Global.CreateHomeDirectory(residence.Id);
-                            house.Save();
+                            house.Save(false);
+                            listHouse.Add(house);
                         }
-                        //鍖归厤褰撳墠浣忓畢
-                        if (Config.Instance.HomeFilePathList.Find((obj) => obj == $"House_{Config.Instance.HomeId}.json") == null)
+                        //濡傛灉鍒囨崲浜嗚处鍙�,鎴栬�呭師鏉ョ殑id涓嶅瓨鍦�,鍒欓噸缃綇瀹匢D
+                        if (UserCenterResourse.ResidenceOption.TheSameLoginAccount == false ||
+                            Config.Instance.HomeFilePathList.Find((obj) => obj == $"House_{Config.Instance.HomeId}.json") == null)
                         {
-                            Config.Instance.HomeId = GetHouseIdByFilePath(Config.Instance.HomeFilePathList[0]);
+                            Config.Instance.HomeId = listHouse[0].Id;
+                            foreach (var house in listHouse)
+                            {
+                                //鍒濆閫夋嫨瀹冭嚜宸辩殑浣忓畢
+                                if (house.IsOthreShare == false)
+                                {
+                                    Config.Instance.HomeId = house.Id;
+                                    Config.Instance.Home = House.GetHouseByHouseId(house.Id);
+                                    break;
+                                }
+                            }
                         }
                         Config.Instance.Save();
-                        //妫�娴嬩綇瀹呭璞�
-                        if (Config.Instance.Home.Id == string.Empty)
-                        {
-                            Config.Instance.Home = House.GetHouseByHouseId(Config.Instance.HomeId);
-                        }
                     }
                 }
             }
@@ -436,7 +443,7 @@
         {
             if (Config.Instance.Home.FloorDics.Count == 0)
             {
-                return null;
+                return string.Empty;
             }
 
             foreach (var floor in Config.Instance.Home.FloorDics)
@@ -445,8 +452,24 @@
                 {
                     return floor.Value;
                 }
+            }
+            return string.Empty;
+        }
+
+        /// <summary>
+        /// 璁剧疆褰撳墠妤煎眰鐨処D
+        /// </summary>
+        public void SetCurrentFloorId()
+        {
+            if (Config.Instance.Home.FloorDics.Count > 0 && string.IsNullOrEmpty(CurrentFloorId))
+            {
+                foreach (var floor in Config.Instance.Home.FloorDics)
+                {
+                    CurrentFloorId = floor.Key;
+                    Save(false);
+                    return;
+                }
             }
-            return null;
         }
 
         #endregion
@@ -456,19 +479,17 @@
         #region 鈼� 娣诲姞鎴块棿璺緞_________________________
 
         /// <summary>
-        /// 娣诲姞銆愭埧闂磋矾寰勩�戝埌鎴块棿璺緞鍒楄〃
+        /// 娣诲姞鎴块棿ID
         /// </summary>
         /// <returns><c>true</c>, if room list file path was added, <c>false</c> otherwise.</returns>
         /// <param name="roomFilePath">Room file path.</param>
-        public bool AddRoomListFilePath(string roomFilePath)
+        public void AddRoomId(string roomId)
         {
-            if (RoomFilePathList.Contains(roomFilePath))
-            {
-                return false;
+            if (ListRooms.Contains(roomId) == false)
+            {
+                ListRooms.Add(roomId);
+                this.Save();
             }
-            RoomFilePathList.Add(roomFilePath);
-            Save();
-            return true;
         }
 
         #endregion
@@ -476,19 +497,17 @@
         #region 鈼� 鍒犻櫎鎴块棿璺緞_________________________
 
         /// <summary>
-        /// 绉婚櫎鎴块棿璺緞
+        /// 绉婚櫎鎴块棿Id
         /// </summary>
         /// <returns><c>true</c>, if room list file path was added, <c>false</c> otherwise.</returns>
         /// <param name="roomFilePath">Room file path.</param>
-        public bool RemoveRoomListFilePath(string roomFilePath)
+        public void RemoveRoomId(string roomId)
         {
-            if (!RoomFilePathList.Contains(roomFilePath))
-            {
-                return false;
+            if (ListRooms.Contains(roomId)==true)
+            {
+                ListRooms.Remove(roomId);
+                Save();
             }
-            RoomFilePathList.Remove(roomFilePath);
-            Save();
-            return true;
         }
 
         #endregion

--
Gitblit v1.8.0