From 53189866ba4012fec0b40990fd2281b836fa2668 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 01 七月 2020 16:29:16 +0800 Subject: [PATCH] 20200701 --- HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs | 83 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 75 insertions(+), 8 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs index 0df87a0..77e9d49 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs @@ -102,13 +102,11 @@ }; #endif - - - btnCurResidenceName.MouseUpEventHandler += (sender, e) => { + EventHandler<MouseEventArgs> eventHandler = (sender, e) => { var dialog = new Dialog(); var dialogBody = new FrameLayout(); dialog.AddChidren(dialogBody); - dialogBody.MouseUpEventHandler += (sender1, e1) => { + dialogBody.MouseUpEventHandler = (sender1, e1) => { dialog.Close(); }; @@ -164,15 +162,84 @@ { var regionId = (string)btnHomeName.Tag; dialog.Close(); - - DB_ResidenceData.residenceData.CurReginID = regionId; - btnCurResidenceName.Text = DB_ResidenceData.residenceData.residecenInfo.Name; - OnAppConfig.Instance.SaveUserConfig(); + LoadEvent_ChangeCurHome(MainPage.LoginUser.regionList.Find((obj) => obj.RegionID == regionId)); + }; } dialog.Show(); }; + + btnResidenceDownIcon.MouseUpEventHandler = eventHandler; + btnCurResidenceName.MouseUpEventHandler = eventHandler; + } + + void LoadEvent_ChangeCurHome(RegionInfoRes homeTemp) + { + if (DB_ResidenceData.residenceData.CurReginID == homeTemp.RegionID) + { + return; + } + var waitPage = new Loading(); + new System.Threading.Thread(() => + { + try + { + var backuplist = FileUtils.ReadFiles(); + int index = 0; + string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString()); + FileUtils.DeleteRegionFiles(oldRegionRootPath); + foreach (var fileName in backuplist) + { + System.IO.FileInfo fileInfo = new System.IO.FileInfo(FileUtils.RootPath + fileName); + if (fileInfo.Exists) + { + fileInfo.MoveTo(oldRegionRootPath + fileName); + MainPage.Log("move file : " + fileName); + } + index++; + Application.RunOnMainThread(() => + { + int pro = (int)(index * 1.0 / backuplist.Count * 50); + waitPage.Text = pro.ToString() + "%"; + }); + } + FileUtils.DeleteAllFile(); + //鍊掑嚭鏂颁綇瀹呮暟鎹� + string newRegionRootPath = FileUtils.CreateRegionBackup(homeTemp.RegionID.ToString()); + FileUtils.RestoreRegionFiles(newRegionRootPath); + MainPage.LoginUser.SaveUserInfo(); + DB_ResidenceData.residenceData.EixtAccount(); + DB_ResidenceData.residenceData.CurReginID = homeTemp.RegionID; + OnAppConfig.Instance.SaveUserConfig(); + DB_ResidenceData.InitRoomFunction(); + DB_ResidenceData.residenceData.SaveResidenceData(); + Application.RunOnMainThread(() => + { + btnCurResidenceName.Text = DB_ResidenceData.residenceData.residecenInfo.Name; + //new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.SwitchRegionSuccessfully), + // Language.StringByID(StringId.Close)).Show(); + }); + } + catch (Exception ex) + { + Application.RunOnMainThread(() => + { + new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.OperationFailed), + Language.StringByID(StringId.Close)).Show(); + }); + MainPage.Log(ex.Message); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + waitPage.RemoveFromParent(); + }); + } + }) + { IsBackground = true }.Start(); } #endregion -- Gitblit v1.8.0