From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs |   86 +++++++++++++++++++++++++------------------
 1 files changed, 50 insertions(+), 36 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
index f1dc712..86e3760 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs
@@ -659,44 +659,53 @@
             //寮�鍚繘搴︽潯
             this.ShowProgressBar();
 
-            var result = HdlResidenceLogic.Current.DeleteCloundHouse(Common.Config.Instance.Home.Id);
-            if (result == false)
+            if (Common.Config.Instance.Home.IsOtherShare == false)
             {
-                //鍏抽棴杩涘害鏉�
-                this.CloseProgressBar();
-                return;
-            }
-
-            //鍥犱负鍒犻櫎鐨勬槸褰撳墠鐨勪綇瀹�,鎵�浠ラ渶瑕佸厛鍒囨崲鍒板埆鐨勪綇瀹�
-            string deleteId = Common.Config.Instance.Home.Id;
-            string deleteFile = Common.Config.Instance.Home.FileName;
-            int index = 0;
-            for (; index < Common.Config.Instance.HomeFilePathList.Count; index++)
-            {
-                //褰撳墠浣忓畢鎵�澶勭殑浣嶇疆(浣忓畢鏁拌偗瀹氬ぇ浜�1,涓嶇劧涓嶄細鍑虹幇鍒犻櫎鎸夐挳)
-                if (Common.Config.Instance.HomeFilePathList[index] != deleteFile)
+                //鍒犻櫎涓讳汉鑷繁鐨勪綇瀹�
+                var result = HdlResidenceLogic.Current.DeleteCloundHouse(Common.Config.Instance.Home.Id);
+                if (result == false)
                 {
-                    break;
+                    //鍏抽棴杩涘害鏉�
+                    this.CloseProgressBar();
+                    return;
+                }
+            }
+            else
+            {
+                //鍒犻櫎鍒嗕韩鐨勪綇瀹�,浣跨敤涓讳汉鐨凾oken,鎶婅嚜宸卞垹浜�
+                var result = HdlMemberLogic.Current.DeleteMember(Common.Config.Instance.Guid);
+                if (result == false)
+                {
+                    //鍏抽棴杩涘害鏉�
+                    this.CloseProgressBar();
+                    return;
                 }
             }
 
-            var myHouse = HdlResidenceLogic.Current.GetHouseByFilePath(Common.Config.Instance.HomeFilePathList[index]);
+            //鍥犱负鍒犻櫎鐨勬槸褰撳墠鐨勪綇瀹�,鎵�浠ラ渶瑕佸厛鍒囨崲鍒板埆鐨勪綇瀹�
+            var listLocalHouse = HdlResidenceLogic.Current.GetAllLocalResidenceListByDirectory();
+            //鍙栦竴涓綇瀹卛d
+            string houseId = string.Empty;
+            foreach (var myHouse in listLocalHouse)
+            {
+                houseId = myHouse.Id;
+                if (houseId != Common.Config.Instance.Home.Id)
+                {
+                    //闅忎究鍙栦竴涓拰褰撳墠浣忓畢涓嶇浉绛夌殑ID
+                    break;
+                }
+            }
+            //褰撳墠浣忓畢ID
+            string nowHouseId = Common.Config.Instance.Home.Id;
             //鍒囨崲浣忓畢
-            Common.Config.Instance.HomeId = myHouse.Id;
-            Common.Config.Instance.Home = myHouse;
-            Common.Global.CreateHomeDirectory(myHouse.Id);
-            Common.Config.Instance.Save();
-
-            //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
-            bool result2 = HdlUserCenterLogic.Current.InitUserCenterMenmoryAndThread(false);
+            bool result2 = HdlResidenceLogic.Current.SwitchResidence(houseId);
+            //鍒犳帀杩欎釜鏂囦欢澶�
+            HdlResidenceLogic.Current.DeleteHouseMemmory(nowHouseId);
             if (result2 == false)
             {
                 //寮�鍚簡璋冭瘯鍔熻兘
                 return;
             }
-
-            //鍒犻櫎浣忓畢
-            HdlResidenceLogic.Current.DeleteHouseMemmory(deleteId);
 
             HdlThreadLogic.Current.RunMain(() =>
             {
@@ -778,16 +787,21 @@
         /// <param name="addresName">浣嶇疆鍚嶇О</param>
         private void SaveResidenceAdrress(NormalViewControl btnLocation, double latitude, double longitude, string addresName)
         {
-            //寮�鍚繘搴︽潯
-            this.ShowProgressBar();
-
-            //淇濆瓨缁忕含搴�
-            var result = HdlResidenceLogic.Current.EditorResidenceLongitudeAndLatitude(latitude, longitude, addresName);
-            this.CloseProgressBar();
-
-            if (result == false)
+            //濡傛灉涓嶆槸铏氭嫙浣忓畢,鎵嶆洿鏂颁簯绔�
+            if (Common.Config.Instance.Home.IsVirtually == false)
             {
-                return;
+                //寮�鍚繘搴︽潯
+                this.ShowProgressBar();
+
+                var result = HdlResidenceLogic.Current.EditorResidenceLongitudeAndLatitude(latitude, longitude, addresName);
+                if (result == false)
+                {
+                    //鍏抽棴杩涘害鏉�
+                    this.CloseProgressBar();
+                    return;
+                }
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar();
             }
             HdlThreadLogic.Current.RunMain(() =>
             {

--
Gitblit v1.8.0