From dce6c3481a37216292724013ff9d2b75ceb82f86 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 10 六月 2020 15:47:28 +0800 Subject: [PATCH] 添加小度的代码 --- ZigbeeApp/Shared/Common/House.cs | 347 --------------------------------------------------------- 1 files changed, 1 insertions(+), 346 deletions(-) diff --git a/ZigbeeApp/Shared/Common/House.cs b/ZigbeeApp/Shared/Common/House.cs index 96aeddc..d368109 100755 --- a/ZigbeeApp/Shared/Common/House.cs +++ b/ZigbeeApp/Shared/Common/House.cs @@ -76,325 +76,6 @@ #endregion - #region 鈼� 浣忓畢____________________________ - - #region 鈼� 娣诲姞浣忓畢_________________________ - - /// <summary> - /// 娣诲姞浣忓畢 - /// </summary> - /// <param name="houseId">浣忓畢id</param> - /// <param name="houseName">浣忓畢鍚嶇О.</param> - /// <param name="numHomeId">浣忓畢鏁板瓧鍨媔d</param> - public static void AddHouse(string houseId, string houseName, int numHomeId) - { - AddHouse(houseId, houseName, false, 0); - } - - /// <summary> - /// 娣诲姞浣忓畢 - /// </summary> - /// <param name="houseId">浣忓畢id</param> - /// <param name="houseName">浣忓畢鍚嶇О.</param> - /// <param name="isOthreShare">鏄惁涓哄叾浠栦富鐢ㄦ埛鍒嗕韩杩囨潵鐨勪綇瀹�</param> - /// <param name="accountType">浠呭瓙璐﹀彿鐧婚檰鐨勬椂鍊欎娇鐢�,褰撱�怚sOthreShare銆戜负"true"锛屽苟涓斻�怉ccountType銆戜负"1"鏃讹紝璇ヨ处鍙锋嫢鏈夌鐞嗗憳鏉冮檺</param> - public static void AddHouse(string houseId, string houseName, bool isOthreShare, int accountType) - { - var home = new House - { - Id = houseId, - Name = houseName, - IsOthreShare = isOthreShare, - AccountType = accountType - }; - //鍒涘缓鏂囦欢澶� - Global.CreateHomeDirectory(houseId); - home.Save(); - Config.Instance.HomeFilePathList.Add(home.FileName); - Config.Instance.Save(); - } - - - #endregion - - #region 鈼� 鍒犻櫎浣忓畢_________________________ - - /// <summary> - /// 鍒犻櫎浣忓畢 - /// </summary> - /// <param name="filePath">File path.</param> - public static void DeleteHouse(string filePath) - { - var delPath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, GetHouseIdByFilePath(filePath)); - if (System.IO.Directory.Exists(delPath) == false) - { - return; - } - var fileList = GetHouseFileListByFilePath(filePath); - foreach (var file in fileList) - { - //鍒犻櫎鏂囦欢 - System.IO.File.Delete(System.IO.Path.Combine(delPath, file)); - } - //鍒犻櫎鏂囦欢澶� - System.IO.Directory.Delete(delPath, true); - //HomeFilePathList涓垹闄よ鍒楄〃 - Common.Config.Instance.HomeFilePathList.RemoveAll((obj) => obj == filePath); - Config.Instance.Save(); - } - - /// <summary> - /// 鍒犻櫎浣忓畢 - /// </summary> - /// <param name="houseId">House identifier.</param> - public static void DeleteHouseByHouseId(string houseId) - { - DeleteHouse(GetHouseFilePathByHouseId(houseId)); - } - - #endregion - - #region 鈼� 淇敼浣忓畢_________________________ - - /// <summary> - /// 淇敼浣忓畢. - /// </summary> - /// <param name="houseId">House identifier.</param> - /// <param name="houseName">House name.</param> - public static void EditorHouseByHouseId(string houseId, string houseName) - { - if (Config.Instance.Home.Id == houseId) - { - Config.Instance.Home.Name = houseName; - } - var home = GetHouseByHouseId(houseId); - if (home == null) - { - return; - } - home.Name = houseName; - home.Save(); - //浣忓畢淇敼鍚嶇О鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� - Phone.UserView.UserPage.Instance.RefreshForm = true; - } - - #endregion - - #region 鈼� 鑾峰彇浣忓畢_________________________ - /// <summary> - /// 閫氳繃銆恑d銆戣幏鍙栦綇瀹� - /// </summary> - /// <returns>The house by house identifier.</returns> - /// <param name="houseId">浣忓畢id</param> - public static House GetHouseByHouseId(string houseId) - { - var path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, houseId, $"House_{houseId}.json"); - var file = Shared.IO.FileUtils.ReadFile(path); - if (file == null) - { - return null; - } - return Newtonsoft.Json.JsonConvert.DeserializeObject<House>(System.Text.Encoding.UTF8.GetString(file)); - } - - /// <summary> - /// 閫氳繃銆愭枃浠惰矾寰勩�戣幏鍙栦綇瀹� - /// </summary> - /// <returns>The house by file path.</returns> - /// <param name="filePath">鏂囦欢璺緞</param> - public static House GetHouseByFilePath(string filePath) - { - var path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, GetHouseIdByFilePath(filePath), filePath); - var file = Shared.IO.FileUtils.ReadFile(path); - if (file == null) - { - return null; - } - return Newtonsoft.Json.JsonConvert.DeserializeObject<House>(System.Text.Encoding.UTF8.GetString(file)); - } - - #endregion - - #region 鈼� 鑾峰彇浣忓畢鍒楄〃_____________________ - /// <summary> - /// Gets the home lists.鑾峰彇浣忓畢鍒楄〃 - /// </summary> - public static async System.Threading.Tasks.Task<List<string>> GetHomeLists() - { - var pageSetting = new SendDataToServer.ResidenceListPageSettingObj() - { - PageSize = CommonPage.PageSize - }; - - var reqDto = new SendDataToServer.ResidenceListObj() - { - LoginAccessToken = Config.Instance.Token, - PageSetting = pageSetting - }; - var requestObj = new SendDataToServer.ResidenceListReqDto() - { - ReqDto = reqDto, - RequestVersion = CommonPage.RequestVersion, - }; - try - { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); - var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("App/GetHomePager", System.Text.Encoding.UTF8.GetBytes(requestJson)); - if (revertObj == null) - { - return null; - } - if (revertObj.StateCode.ToUpper() == "SUCCESS") - { - var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.ResidenceRes>(revertObj.ResponseData.ToString()); - 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.Confrim)); - alert.Show(); - } - else - { - //娓呯┖褰撳墠浣忓畢鍒楄〃 - Config.Instance.HomeFilePathList.Clear(); - var listHouse = new List<House>(); - foreach (var residence in responseDataObj.PageData) - { - Config.Instance.HomeFilePathList.Add($"House_{residence.Id}.json"); - var house = GetHouseByHouseId(residence.Id); - if (house == null) - { - house = new House - { - Id = residence.Id, - Name = residence.Name, - IsOthreShare = residence.IsOthreShare, - AccountType = residence.AccountType, - MainUserDistributedMark = residence.MainUserDistributedMark, - Longitude = residence.Longitude, - Latitude = residence.Latitude - }; - } - else - { - house.Id = residence.Id; - house.Name = residence.Name; - house.IsOthreShare = residence.IsOthreShare; - house.AccountType = residence.AccountType; - house.MainUserDistributedMark = residence.MainUserDistributedMark; - house.Longitude = residence.Longitude; - house.Latitude = residence.Latitude; - } - Global.CreateHomeDirectory(residence.Id); - house.Save(false); - listHouse.Add(house); - } - //濡傛灉鍒囨崲浜嗚处鍙�,鎴栬�呭師鏉ョ殑id涓嶅瓨鍦�,鍒欓噸缃綇瀹匢D - if (Config.Instance.TheSameLoginAccount == false || - Config.Instance.HomeFilePathList.Find((obj) => obj == $"House_{Config.Instance.HomeId}.json") == null) - { - Config.Instance.HomeId = listHouse[0].Id; - foreach (var house in listHouse) - { - //鍒濆閫夋嫨瀹冭嚜宸辩殑浣忓畢 - if (house.IsOthreShare == false) - { - Config.Instance.HomeId = house.Id; - Config.Instance.Home = House.GetHouseByHouseId(house.Id); - break; - } - } - } - Config.Instance.Save(); - } - } - } - catch (Exception ex) - { - System.Console.WriteLine($"鑾峰彇澶辫触{ex.Message}"); - } - finally - { - } - return Config.Instance.HomeFilePathList; - } - - #endregion - - #region 鈼� 鑾峰彇浣忓畢id_______________________ - /// <summary> - /// 閫氳繃銆愭枃浠惰矾寰勩�戣幏鍙栦綇瀹卛d - /// </summary> - /// <returns>The house identifier by file path.</returns> - /// <param name="filePath">鏂囦欢璺緞</param> - public static string GetHouseIdByFilePath(string filePath) - { - string[] sArray = filePath.Split(new string[] { "House_", ".json" }, StringSplitOptions.RemoveEmptyEntries); - if (sArray.Length >= 1) - { - return sArray[0]; - } - return null; - } - - #endregion - - #region 鈼� 鑾峰彇浣忓畢璺緞_____________________ - /// <summary> - /// 閫氳繃銆愪綇瀹卛d銆戣幏鍙栦綇瀹呰矾寰� - /// </summary> - /// <returns>The house identifier by file path.</returns> - /// <param name="houseId">浣忓畢id</param> - public static string GetHouseFilePathByHouseId(string houseId) - { - if (string.IsNullOrEmpty(houseId)) - { - return null; - } - return $"House_{houseId}.json"; - } - - #endregion - - #region 鈼� 鑾峰彇璇ヤ綇瀹呯殑鏂囦欢鍒楄〃______________ - - /// <summary> - /// 閫氳繃銆恏ouseId銆戣幏鍙栬浣忓畢鐨勬枃浠跺垪琛� - /// </summary> - /// <returns>The house file list by home identifier.</returns> - /// <param name="houseId">House identifier.</param> - public static List<string> GetHouseFileListByHomeId(string houseId) - { - var list = new List<string> { }; - var path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, houseId); - if (!System.IO.Directory.Exists(path)) - { - return new List<string> { }; - } - var files = System.IO.Directory.GetFiles(path); - foreach (var file in files) - { - var f = file.Substring(path.Length + 1); - System.Console.WriteLine(f); - list.Add(f); - } - return list; - } - - /// <summary> - /// 閫氳繃銆愭枃浠惰矾寰勩�戣幏鍙栦綇瀹呬笅鏂囦欢鍒楄〃 - /// </summary> - /// <returns>The house file list by file path.</returns> - /// <param name="filePath">File path.</param> - public static List<string> GetHouseFileListByFilePath(string filePath) - { - return GetHouseFileListByHomeId(GetHouseIdByFilePath(filePath)); - } - - #endregion - - #endregion - #region 鈼� 妤煎眰____________________________ /// <summary> @@ -406,30 +87,8 @@ { get { - return GetFloorNameById(CurrentFloorId); + return HdlResidenceLogic.Current.GetFloorNameById(CurrentFloorId); } - } - - /// <summary> - /// 鑾峰彇妤煎眰鍚嶇О - /// </summary> - /// <param name="floorId"></param> - /// <returns></returns> - public string GetFloorNameById(string floorId) - { - if (Config.Instance.Home.FloorDics.Count == 0) - { - return string.Empty; - } - - foreach (var floor in Config.Instance.Home.FloorDics) - { - if (floorId == floor.Key) - { - return floor.Value; - } - } - return string.Empty; } /// <summary> @@ -449,8 +108,6 @@ } #endregion - - #region 鈼� 鎴块棿____________________________ #region 鈼� 娣诲姞鎴块棿璺緞_________________________ @@ -485,8 +142,6 @@ Save(); } } - - #endregion #endregion -- Gitblit v1.8.0