From 412e0af11df2b1d7986adf002e7997d82344ab3e Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期一, 13 七月 2020 09:47:40 +0800
Subject: [PATCH] 请合并最新版代码

---
 ZigbeeApp/Shared/Common/House.cs |  171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 171 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/House.cs b/ZigbeeApp/Shared/Common/House.cs
new file mode 100755
index 0000000..d368109
--- /dev/null
+++ b/ZigbeeApp/Shared/Common/House.cs
@@ -0,0 +1,171 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Shared.Phone.UserCenter;
+
+namespace Shared.Common
+{
+    /// <summary>
+    /// 浣忓畢鏂囦欢
+    /// </summary>
+    [System.Serializable]
+    public class House
+    {
+        #region 鈼� 鍙橀噺____________________________
+        /// <summary>
+        /// 浣忓畢鏂囦欢
+        /// </summary>
+        /// <value>The file path.</value>
+        [Newtonsoft.Json.JsonIgnore]
+        public string FileName
+        {
+            get
+            {
+                return $"House_{Id}.json";
+            }
+        }
+        /// <summary>
+        /// 浣忓畢id--浣跨敤浜戠鎻愪緵鐨勪綇瀹呭敮涓�Id
+        /// </summary>
+        public string Id = string.Empty;
+        /// <summary>
+        /// 浣忓畢鍚嶇О
+        /// </summary>
+        public string Name = string.Empty;
+        /// <summary>
+        /// 鏄惁涓哄叾浠栦富鐢ㄦ埛鍒嗕韩杩囨潵鐨勪綇瀹�
+        /// </summary>
+        public bool IsOthreShare;
+        /// <summary>
+        /// 褰撳墠浣忓畢鏄叾浠栦富甯愬彿鍒嗕韩杩囨潵鐨勪富甯愬彿鐨勫垎甯冨紡Id
+        /// </summary>
+        public string MainUserDistributedMark;
+        /// <summary>
+        /// 璇ヤ綇瀹呮槸鍚︽槸铏氭嫙鐨�,true鐨勮瘽浠h〃缃戝叧鍜岃澶囬兘鏄櫄鎷熺殑(榛樿涓篺alse)
+        /// </summary>
+        public bool IsVirtually = false;
+        /// <summary>
+        /// 浠呭瓙璐﹀彿鐧婚檰鐨勬椂鍊欎娇鐢�,褰撱�怚sOthreShare銆戜负"true"锛屽苟涓斻�怉ccountType銆戜负"1"鏃讹紝璇ヨ处鍙锋嫢鏈夌鐞嗗憳鏉冮檺
+        /// </summary>
+        public int AccountType;
+        /// <summary>
+        /// 缁忓害
+        /// </summary>
+        public double Longitude = 0;
+        /// <summary>
+        /// 绾害
+        /// </summary>
+        public double Latitude = 0;
+        /// <summary>
+        /// 浣忓畢鎵�鍦ㄧ殑鍦扮悊浣嶇疆鐨勫悕绉�
+        /// </summary>
+        public string ResidenceAddressName = string.Empty;
+        /// <summary>
+        /// 鎴块棿鍒楄〃(鎴块棿鐨処D)
+        /// </summary>
+        public List<string> ListRooms = new List<string>();
+        /// <summary>
+        /// 妤煎眰瀛楀吀
+        /// key:FloorId
+        /// value:FloorName
+        /// </summary>
+        public Dictionary<string,string> FloorDics = new Dictionary<string,string> { };
+        /// <summary>
+        /// 褰撳墠妤煎眰Id
+        /// </summary>
+        public string CurrentFloorId = string.Empty;
+
+        #endregion
+
+        #region 鈼� 妤煎眰____________________________
+
+        /// <summary>
+        /// GetCurrentFloorName
+        /// </summary>
+        /// <returns></returns>
+        [Newtonsoft.Json.JsonIgnore]
+        public string GetCurrentFloorName
+        {
+            get
+            {
+                return HdlResidenceLogic.Current.GetFloorNameById(CurrentFloorId);
+            }
+        }
+
+        /// <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;
+                }
+            }
+        }
+
+        #endregion
+
+        #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 void AddRoomId(string roomId)
+        {
+            if (ListRooms.Contains(roomId) == false)
+            {
+                ListRooms.Add(roomId);
+                this.Save();
+            }
+        }
+
+        #endregion
+
+        #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 void RemoveRoomId(string roomId)
+        {
+            if (ListRooms.Contains(roomId)==true)
+            {
+                ListRooms.Remove(roomId);
+                Save();
+            }
+        }
+
+        #endregion
+
+        #region 鈼� 淇濆瓨____________________________
+
+        /// <summary>
+        /// 淇濆瓨
+        /// </summary>
+        /// <param name="autoBackup">鏄惁澶囦唤</param>
+        public void Save(bool autoBackup = true)
+        {
+            var path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, Id);
+            //濡傛灉娌℃湁瀛樺湪浣忓畢鐩綍锛屽厛鍒涘缓
+            if (!System.IO.Directory.Exists(path))
+            {
+                System.IO.Directory.CreateDirectory(path);
+            }
+            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