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