From 652243206427f35a256400a149a1734085824cb9 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 02 九月 2020 17:35:03 +0800 Subject: [PATCH] 2020-09-02-4 --- ZigbeeApp/Shared/Common/House.cs | 148 ++++++++++++++++++++++++++++++------------------- 1 files changed, 91 insertions(+), 57 deletions(-) diff --git a/ZigbeeApp/Shared/Common/House.cs b/ZigbeeApp/Shared/Common/House.cs index d368109..ae86e44 100755 --- a/ZigbeeApp/Shared/Common/House.cs +++ b/ZigbeeApp/Shared/Common/House.cs @@ -60,19 +60,63 @@ /// </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 + /// -1:鏈厤缃�(闇�瑕侀噸鏂伴�夋嫨) 1:鏃犳ā鏉挎湁璁惧 2:鏈夋ā鏉挎湁璁惧 3:鏃犳ā鏉挎棤璁惧(璇锋棤瑙嗚繖涓彉閲�) /// </summary> - public string CurrentFloorId = string.Empty; + public int TemplateMode = -1; + /// <summary> + /// 璇ヤ綇瀹呮槸鍚︽槸灞曠ず妯℃澘(姝ゅ彉閲忔槸缁欐煡鐪嬫ā鏉挎暟鎹椂浣跨敤鐨�,璇锋棤瑙嗚繖涓彉閲�) + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public bool IsShowTemplate = false; + /// <summary> + /// 褰撳墠浣忓畢閫夋嫨鐨勬ā鏉垮悕瀛�(璇锋棤瑙嗚繖涓彉閲�) + /// </summary> + public string SelectTemplate = string.Empty; + /// <summary> + /// 鑷畾涔夊崟鍏冪殑鏍囬鍚嶇О(涓嶭istUintContent涓暟鍖归厤,璇锋棤瑙嗚繖涓彉閲�) + /// </summary> + public List<string> ListUintName = new List<string>(); + /// <summary> + /// 鑷畾涔夊崟鍏冪殑鍐呭(涓嶭istUintName涓暟鍖归厤,璇锋棤瑙嗚繖涓彉閲�) + /// </summary> + public List<string> ListUintContent = new List<string>(); + /// <summary> + /// 鏈�鍚庣紪杈戠殑浜嬩欢(2020.05.26杩藉姞) 1970/12/31 23:59鏍煎紡 + /// </summary> + public string LastEditorTime = "1970/12/31 23:59"; + /// <summary> + /// 鏍囪瘑姝や綇瀹呯殑鏁版嵁鏄惁宸茬粡鍙戦�佽繃妯℃澘鏁版嵁缁欑綉鍏�(鍙拡瀵筎emplateMode=2,璇锋棤瑙嗚繖涓彉閲�) + /// </summary> + public bool SendTemplateSuccess = false; + /// <summary> + /// 杩欎釜浣忓畢涓嬫墍鎷ユ湁鐨勭綉鍏砳d(2020.05.26杩藉姞,null浠h〃娌℃湁澶勭悊杩�,璇锋棤瑙嗚繖涓彉閲�) + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public List<string> listGatewayId = null; + /// <summary> + /// <para>鏍囪瘑浣忓畢鏁版嵁鐨勫尯鍒�(鏂囦欢璇诲彇鏃堕厤缃�,璇锋棤瑙嗚繖涓彉閲�)锛�</para> + /// <para>1:鏈韩鑷繁鐨勬暟鎹�(鏂囦欢澶瑰悕瀛椾负浣忓畢id)</para> + /// <para>2:鑷繁鎵嬪姩鍒涘缓鐨勪繚瀛樺湪鏈満鐨勫浠�(鏂囦欢澶瑰悕瀛椾互銆怋ackupResidenceData銆戝紑澶�)</para> + /// <para>3:姝ゆ暟鎹粠浜戠涓嬭浇鑰屾潵(鏂囦欢澶瑰悕瀛椾互銆怐ownLoadResidenceData銆戝紑澶�)</para> + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public int HouseDataDiv = 1; + /// <summary> + /// 褰撳墠浣忓畢鐨勫湪绾跨姸鎬� -1:铏氭嫙 0:绂荤嚎 1:鏈湴 2:杩滅▼ 3:璇诲彇涓�(璇锋棤瑙嗚繖涓彉閲�) + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public string NowHomeOnlineStatu = "3"; + /// <summary> + /// 褰撳墠瀛樻斁浣忓畢鏁版嵁鐨勬枃浠跺す鍚嶅瓧(姝ゅ彉閲忔槸缁欐湰鏈哄浠�,鎴栬�呬簯绔笅杞藉浠戒娇鐢ㄧ殑,璇锋棤瑙嗚繖涓彉閲�) + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public string SaveDirctoryName = string.Empty; #endregion @@ -86,61 +130,43 @@ public string GetCurrentFloorName { get - { + { return HdlResidenceLogic.Current.GetFloorNameById(CurrentFloorId); } - } - + } + /// <summary> + /// 褰撳墠妤煎眰id + /// </summary> + private string m_CurrentFloorId = string.Empty; /// <summary> - /// 璁剧疆褰撳墠妤煎眰鐨処D + /// 褰撳墠妤煎眰Id /// </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) + [Newtonsoft.Json.JsonIgnore] + public string CurrentFloorId + { + //鏉ュ洖鍒囨崲澶囦唤,浼氬嚭鐜伴棶棰�,妤煎眰id娌℃竻闄� + get { - 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(); - } + //娌℃湁妤煎眰 + if (this.FloorDics.Count == 0) { return string.Empty; } + + if (this.FloorDics.ContainsKey(m_CurrentFloorId) == true) + { + //褰撳墠鐨勬ゼ灞俰d娌¢棶棰� + return m_CurrentFloorId; + } + //濡傛灉褰撳墠璁剧疆鐨勬ゼ灞俰d骞朵笉瀛樺湪鐨勮瘽,閲嶆柊璁剧疆 + m_CurrentFloorId = string.Empty; + var dicFloor = HdlRoomLogic.Current.GetFloorSortList(); + foreach (var floorId in dicFloor.Keys) + { + //缁欎竴涓繃鍘诲嵆鍙� + m_CurrentFloorId = floorId; + break; + } + return m_CurrentFloorId; + } + set { m_CurrentFloorId = value; } } #endregion @@ -153,6 +179,13 @@ /// <param name="autoBackup">鏄惁澶囦唤</param> public void Save(bool autoBackup = true) { + //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欎笉鍏佽淇濆瓨 + if (this.IsShowTemplate == true) + { + return; + } + //淇敼鏃堕棿 + this.LastEditorTime = DateTime.Now.ToString("yyyy/MM/dd HH:mm"); var path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, Id); //濡傛灉娌℃湁瀛樺湪浣忓畢鐩綍锛屽厛鍒涘缓 if (!System.IO.Directory.Exists(path)) @@ -160,7 +193,8 @@ 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))); + HdlFileLogic.Current.SaveFileContent(path, this); + if (autoBackup == true && Id == Config.Instance.HomeId) { HdlAutoBackupLogic.AddOrEditorFile(FileName); -- Gitblit v1.8.0