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