using System; using HDL_ON.Entity; using Shared; namespace HDL_ON.UI { public partial class PersonalCenterPage { /// /// 加载事件列表 /// void LoadEventList() { LoadEvent_SwitchHome(); LoadEvent_GoPersonalDataPage(); LoadEvent_SkipAboutOnPage(); LoadEvent_SkipGetSupportPage(); if (!DB_ResidenceData.residenceData.residecenInfo.IsOthreShare) { LoadEvent_SkipResdentialManagePage(); LoadEvent_GoMemberManagement(); LoadEvent_SkipbtnAddFunctionPage(); } } #region 切换住宅 /// /// 住宅列表点击事件 /// void LoadEvent_SwitchHome() { EventHandler eventHandler = (sender, e) => { var dialog = new Dialog(); var dialogBody = new FrameLayout(); dialog.AddChidren(dialogBody); dialogBody.MouseUpEventHandler = (sender1, e1) => { dialog.Close(); }; var dispalyView = new FrameLayout() { X = Application.GetRealWidth(10), Y = Application.GetRealHeight(268), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(110), BackgroundImagePath = "PersonalCenter/HomeList1bg.png", }; dialogBody.AddChidren(dispalyView); var contentView = new VerticalScrolViewLayout() { X = Application.GetRealWidth(22), Y = Application.GetRealHeight(15), Width = Application.GetRealWidth(150), Height = Application.GetRealHeight(45), ScrollEnabled = false }; dispalyView.AddChidren(contentView); if (MainPage.LoginUser.regionList.Count < 3) { } else if (MainPage.LoginUser.regionList.Count < 4) { dispalyView = new FrameLayout() { X = Application.GetRealWidth(10), Y = Application.GetRealHeight(268), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(155), BackgroundImagePath = "PersonalCenter/HomeList2bg.png", }; dialogBody.AddChidren(dispalyView); contentView.Height = Application.GetRealHeight(45 * 3); dispalyView.AddChidren(contentView); } else if (MainPage.LoginUser.regionList.Count < 5) { dispalyView = new FrameLayout() { X = Application.GetRealWidth(10), Y = Application.GetRealHeight(268), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(200), BackgroundImagePath = "PersonalCenter/HomeList3bg.png", }; dialogBody.AddChidren(dispalyView); contentView.Height = Application.GetRealHeight(45 * 4); dispalyView.AddChidren(contentView); } else { dispalyView = new FrameLayout() { X = Application.GetRealWidth(10), Y = Application.GetRealHeight(268), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(245), BackgroundImagePath = "PersonalCenter/HomeList4bg.png", }; dialogBody.AddChidren(dispalyView); contentView.Height = Application.GetRealHeight(45 * 5); contentView.ScrollEnabled = true; dispalyView.AddChidren(contentView); } foreach (var home in MainPage.LoginUser.regionList) { var btnHomeName = new Button() { Width = Application.GetRealWidth(112), Height = Application.GetRealHeight(44), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS.CSS_Color.FirstLevelTitleColor, SelectedTextColor = CSS.CSS_Color.MainColor, Text = home.Name, TextSize = home.Name.Length > 14 ? CSS.CSS_FontSize.TextFontSize : CSS.CSS_FontSize.SubheadingFontSize, IsSelected = DB_ResidenceData.residenceData.residecenInfo.RegionID == home.RegionID, IsMoreLines = true, Tag = home.RegionID }; contentView.AddChidren(btnHomeName); if (MainPage.LoginUser.regionList.IndexOf(home) < MainPage.LoginUser.regionList.Count - 1) { contentView.AddChidren(new Button() { Width = Application.GetRealWidth(112), Height = Application.GetRealHeight(1), BackgroundColor = CSS.CSS_Color.BackgroundColor }); } btnHomeName.MouseUpEventHandler += (senderH, en) => { var regionId = (string)btnHomeName.Tag; dialog.Close(); //DB_ResidenceData.residenceData.CurReginID = regionId; LoadEvent_ChangeCurHome(MainPage.LoginUser.regionList.Find((obj) => obj.RegionID == regionId)); LoadContentView(); }; } dialog.Show(); }; btnResidenceDownIcon.MouseUpEventHandler = eventHandler; btnCurResidenceName.MouseUpEventHandler = eventHandler; } /// /// 更换当前选中住宅 /// /// void LoadEvent_ChangeCurHome(RegionInfoRes homeTemp) { if (DB_ResidenceData.residenceData.CurReginID == homeTemp.RegionID) { return; } string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString()); string newRegionRootPath = FileUtils.CreateRegionBackup(homeTemp.RegionID.ToString()); DB_ResidenceData.residenceData.CurReginID = homeTemp.RegionID; DB_ResidenceData.residenceData.SaveResidenceData(); var waitPage = new Loading(); new System.Threading.Thread(() => { try { var backuplist = FileUtils.ReadFiles(); int index = 0; FileUtils.DeleteRegionFiles(oldRegionRootPath); //移动文件 foreach (var fileName in backuplist) { System.IO.FileInfo fileInfo = new System.IO.FileInfo(FileUtils.RootPath + fileName); if (fileName == "headImage.png") { continue; } 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() + "%"; }); } //删除本地文件 foreach (var fileName in backuplist) { if (fileName == "headImage.png") { continue; } FileUtils.DeleteFile(fileName); } //倒出新住宅数据 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; }); } 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 #region 住宅管理 void LoadEvent_SkipResdentialManagePage() { if (!DB_ResidenceData.residenceData.residecenInfo.IsOthreShare) { EventHandler eventHandler = (sender, e) => { Action updateResidenceName = () => { btnCurResidenceName.Text = DB_ResidenceData.residenceData.residecenInfo.Name; }; var residentialManagePage = new ResidentialManagePage(updateResidenceName); MainPage.BasePageView.AddChidren(residentialManagePage); residentialManagePage.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnResidenceManageIcon.MouseUpEventHandler = eventHandler; btnResidenceManageText.MouseUpEventHandler = eventHandler; } } #endregion #region 个人中心 void LoadEvent_GoPersonalDataPage() { EventHandler eventHandler = (sender, e) => { Action updataHeadImage = () => { userHeadImageView.ImagePath = MainPage.LoginUser.headImagePagePath; }; Action updataUserName = () => { btnUserName.Text = MainPage.LoginUser.userName; }; var personalDataView = new PersonalDataPage(updataHeadImage, updataUserName); MainPage.BasePageView.AddChidren(personalDataView); personalDataView.LoadView(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; userHeadImageView.MouseUpEventHandler = eventHandler; btnUserName.MouseUpEventHandler = eventHandler; btnEmail.MouseUpEventHandler = eventHandler; } #endregion #region 成员管理 void LoadEvent_GoMemberManagement() { EventHandler eHandler = (sender, e) => { var mmp = new MemberManagementPage(); MainPage.BasePageView.AddChidren(mmp); mmp.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnResidenceMemberIcon.MouseUpEventHandler = eHandler; btnResidenceMemberText.MouseUpEventHandler = eHandler; } #endregion #region 添加设备 void LoadEvent_SkipbtnAddFunctionPage() { EventHandler eventHandler = (sender, e) => { var page = new SearchDevicePage(); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnResidenceAddFunctionIcon.MouseUpEventHandler = eventHandler; btnResidenceAddFunctionText.MouseUpEventHandler = eventHandler; } #endregion #region 关于On、获取支持 /// /// 跳转至关于On页面 /// void LoadEvent_SkipAboutOnPage() { btnAboutOnText.MouseUpEventHandler = (sender, e) => { var aboutOnPage = new AboutOnPage(); MainPage.BasePageView.AddChidren(aboutOnPage); aboutOnPage.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } /// /// 跳转至获取支持页面 /// void LoadEvent_SkipGetSupportPage() { btnSupportText.MouseUpEventHandler = (sender, e) => { var getsupportPage = new GetSupportPage(); MainPage.BasePageView.AddChidren(getsupportPage); getsupportPage.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } #endregion } }