From 944b87b6bcccb095cd73f13f4410fb20faf48f74 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期三, 25 十二月 2019 11:21:06 +0800
Subject: [PATCH] 2019.12.25

---
 ZigbeeApp/Shared/Common/House.cs |  103 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 93 insertions(+), 10 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/House.cs b/ZigbeeApp/Shared/Common/House.cs
index 8b7f693..138ad8e 100644
--- a/ZigbeeApp/Shared/Common/House.cs
+++ b/ZigbeeApp/Shared/Common/House.cs
@@ -46,12 +46,31 @@
         /// <summary>
         /// 浠呭瓙璐﹀彿鐧婚檰鐨勬椂鍊欎娇鐢�,褰撱�怚sOthreShare銆戜负"true"锛屽苟涓斻�怉ccountType銆戜负"1"鏃讹紝璇ヨ处鍙锋嫢鏈夌鐞嗗憳鏉冮檺
         /// </summary>
-        public int AccountType;
+        public int AccountType;
+        /// <summary>
+        /// 缁忓害
+        /// </summary>
+        public double Longitude = 0;
+        /// <summary>
+        /// 绾害
+        /// </summary>
+        public double Latitude = 0;
 
         /// <summary>
         /// 鎴块棿璺緞鍒楄〃
         /// </summary>
         public List<string> RoomFilePathList = new List<string> { };
+
+        /// <summary>
+        /// 妤煎眰瀛楀吀
+        /// key:FloorId
+        /// value:FloorName
+        /// </summary>
+        public Dictionary<string,string> FloorDics = new Dictionary<string,string> { };
+        /// <summary>
+        /// 褰撳墠妤煎眰
+        /// </summary>
+        public string CurrentFloorId;
 
         /// <summary>
         /// 鍏ㄥ眬鍦烘櫙璺緞鍒楄〃---澶囩敤
@@ -170,6 +189,7 @@
             }
             home.Name = houseName;
             home.Save();
+            Config.Instance.Save();
         }
 
         #endregion
@@ -215,8 +235,6 @@
         /// </summary>
         public static async System.Threading.Tasks.Task<List<string>> GetHomeLists()
         {
-            //娓呯┖褰撳墠浣忓畢鍒楄〃
-            Config.Instance.HomeFilePathList.Clear();
             var pageSetting = new SendDataToServer.ResidenceListPageSettingObj()
             {
                 PageSize = CommonPage.PageSize
@@ -234,9 +252,6 @@
             };
             try
             {
-                //澶嶅師绠$悊鍛樻爣璇�(鑾峰彇浣忓畢鏃讹紝浣跨敤浠栧師鏉ヨ嚜宸辩殑Token)
-                Common.Config.Instance.isAdministrator = false;
-
                 var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
                 var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("App/GetHomePager", System.Text.Encoding.UTF8.GetBytes(requestJson));
                 if (revertObj == null)
@@ -249,7 +264,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) =>
                         {
@@ -261,6 +276,13 @@
                     }
                     else
                     {
+                        //娓呯┖褰撳墠浣忓畢鍒楄〃
+                        Config.Instance.HomeFilePathList.Clear();
+                        if (Config.Instance.HomeId == string.Empty && responseDataObj.PageData.Count > 0)
+                        {
+                            //璧嬩竴涓垵濮嬪��
+                            Config.Instance.HomeId = responseDataObj.PageData[0].Id;
+                        }
                         foreach (var residence in responseDataObj.PageData)
                         {
                             Config.Instance.HomeFilePathList.Add($"House_{residence.Id}.json");
@@ -273,7 +295,9 @@
                                     Name = residence.Name,
                                     IsOthreShare = residence.IsOthreShare,
                                     AccountType = residence.AccountType,
-                                    MainUserDistributedMark = residence.MainUserDistributedMark
+                                    MainUserDistributedMark = residence.MainUserDistributedMark,
+                                    Longitude = residence.Longitude,
+                                    Latitude = residence.Latitude
                                 };
                             }
                             else
@@ -282,10 +306,12 @@
                                 house.Name = residence.Name;
                                 house.IsOthreShare = residence.IsOthreShare;
                                 house.AccountType = residence.AccountType;
-                                house.MainUserDistributedMark = residence.MainUserDistributedMark;
+                                house.MainUserDistributedMark = residence.MainUserDistributedMark;
+                                house.Longitude = residence.Longitude;
+                                house.Latitude = residence.Latitude;
                             }
                             Global.CreateHomeDirectory(residence.Id);
-                            house.Save();
+                            house.Save(false);
                         }
                         //鍖归厤褰撳墠浣忓畢
                         if (Config.Instance.HomeFilePathList.Find((obj) => obj == $"House_{Config.Instance.HomeId}.json") == null)
@@ -382,6 +408,59 @@
 
         #endregion
 
+        #region 鈼� 妤煎眰____________________________
+
+        /// <summary>
+        /// GetCurrentFloorName
+        /// </summary>
+        /// <returns></returns>
+        public string GetCurrentFloorName
+        {
+            get
+            {
+                return GetFloorNameById(CurrentFloorId);
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇妤煎眰鍚嶇О
+        /// </summary>
+        /// <param name="floorId"></param>
+        /// <returns></returns>
+        public string GetFloorNameById(string floorId)
+        {
+            if (Config.Instance.Home.FloorDics.Count == 0)
+            {
+                return null;
+            }
+
+            foreach (var floor in Config.Instance.Home.FloorDics)
+            {
+                if (floorId == floor.Key)
+                {
+                    return floor.Value;
+                }
+            }
+            return null;
+        }
+        /// <summary>
+        /// InitFloor
+        /// </summary>
+        public  void InitFloor()
+        {
+            if (Config.Instance.Home.FloorDics.Count > 0 && string.IsNullOrEmpty(CurrentFloorId))
+            {
+                foreach (var floor in Config.Instance.Home.FloorDics)
+                {
+                    CurrentFloorId = floor.Key;
+                    Save(false);
+                    return;
+                }
+            }
+        }
+
+        #endregion
+
         #region 鈼� 鎴块棿____________________________
 
         #region 鈼� 娣诲姞鎴块棿璺緞_________________________
@@ -442,6 +521,10 @@
             }
             path = System.IO.Path.Combine(path, FileName);
             Shared.IO.FileUtils.WriteFileByBytes(path, System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)));
+            if (autoBackup == true && Id == Config.Instance.HomeId)
+            {
+                HdlAutoBackupLogic.AddOrEditorFile(FileName);
+            }
         }
         #endregion
     }

--
Gitblit v1.8.0