using System; using System.Collections.Generic; using HDL_ON.DAL.Server; 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.Instance.CurrentRegion.isOtherShare) { LoadEvent_SkipResdentialManagePage(); LoadEvent_GoMemberManagement(); LoadEvent_SkipbtnAddFunctionPage(); LoadEvent_SkipSmartSpeakerPage(); } if(DB_ResidenceData.Instance.GatewayType == 1) { LoadEvent_SecurityEvent(); } } /// /// 更新安防控件状态 /// void LoadEvent_UpdataSenurityStatus() { lock (FunctionList.List.securities) { btnResidenceArmText.TextID = StringId.Undefense; foreach (var temp in FunctionList.List.securities) { if (temp.status == "enable") { btnResidenceArmText.TextID = StringId.Defense; if (temp.alarm) { btnResidenceArmIcon.SelectedImagePath = "PersonalCenter/ResidenceInAlarmIcon.png"; } else { btnResidenceArmIcon.SelectedImagePath = "PersonalCenter/ResidenceDefenseIcon.png"; } btnResidenceArmIcon.IsSelected = true; break; } } } } /// /// 安防部分事件 /// void LoadEvent_SecurityEvent() { if (btnResidenceArmIcon != null&& btnResidenceArmText != null) { Action action = () =>{ Application.RunOnMainThread(() => { LoadEvent_UpdataSenurityStatus(); }); }; btnResidenceArmIcon.IsSelected = false; LoadEvent_UpdataSenurityStatus(); EventHandler eventHandler = (sender, e) => { var page = new ArmCenterPage(action); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnResidenceArmIcon.MouseUpEventHandler = eventHandler; btnResidenceArmText.MouseUpEventHandler = eventHandler; } } #region 切换住宅 /// /// 住宅列表点击事件 /// void LoadEvent_SwitchHome() { EventHandler eventHandler = (sender, e) => { if (UserInfo.Current.regionList.Count < 20) { 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 (UserInfo.Current.regionList.Count < 2) { } else if (UserInfo.Current.regionList.Count < 3) { dispalyView = new FrameLayout() { X = Application.GetRealWidth(10), Y = Application.GetRealHeight(268), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(105), BackgroundImagePath = "PersonalCenter/HomeList1bg.png", }; dialogBody.AddChidren(dispalyView); contentView.Height = Application.GetRealHeight(45 * 2); dispalyView.AddChidren(contentView); } else if (UserInfo.Current.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 (UserInfo.Current.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 UserInfo.Current.regionList) { var btnHomeName = new Button() { Width = Application.GetRealWidth(112), Height = Application.GetRealHeight(40), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS.CSS_Color.FirstLevelTitleColor, SelectedTextColor = CSS.CSS_Color.MainColor, Text = home.homeName, TextSize = home.homeName.Length > 14 ? CSS.CSS_FontSize.TextFontSize : CSS.CSS_FontSize.SubheadingFontSize, IsSelected = DB_ResidenceData.Instance.CurrentRegion.id == home.id, IsMoreLines = true, Tag = home.id }; contentView.AddChidren(btnHomeName); if (UserInfo.Current.regionList.IndexOf(home) < UserInfo.Current.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(); LoadEvent_ChangeCurHome(home); new System.Threading.Thread(() => { try { while (true) { if (Common.ApiUtlis.Ins.DownloadDataComplete) { System.Threading.Thread.Sleep(100); } else { Application.RunOnMainThread(() => { LoadContentView(); }); break; } } } catch { } { } }) { IsBackground = true }.Start(); HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.ChangeCurrHome(home); }; } dialog.Show(); } else { List newlist = UserInfo.Current.regionList; int pageIndex = 0; int pageCount = UserInfo.Current.regionList.Count / 6 + 1; var dialog = new Dialog(); var dialogBody = new FrameLayout(); dialog.AddChidren(dialogBody); dialogBody.MouseUpEventHandler = (sender1, e1) => { dialog.Close(); }; var dispalyView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(267), Height = Application.GetRealHeight(667- 267 + 20), Radius = (uint)Application.GetRealWidth(16), BackgroundColor = CSS.CSS_Color.MainBackgroundColor, }; dialogBody.AddChidren(dispalyView); #region 搜索栏 FrameLayout searchView = new FrameLayout() { Height = Application.GetRealHeight(50), }; dispalyView.AddChidren(searchView); var searchTv = new EditText() { X = Application.GetRealWidth(16), Gravity = Gravity.CenterVertical, Width = Application.GetRealWidth(330), Height = Application.GetRealHeight(38), BorderColor = CSS.CSS_Color.DividingLineColor, BorderWidth = 3, TextColor = CSS.CSS_Color.TextualColor, Radius = 1, }; searchView.AddChidren(searchTv); #endregion #region 列表 var showListView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(50), Height = Application.GetRealHeight(667 - 267 - 100), ScrollEnabled = false, }; dispalyView.AddChidren(showListView); ChangeShowHomeList(pageIndex, dialog, showListView,newlist); #endregion #region 上下页 var bottomOptionView = new FrameLayout() { Y = Application.GetRealHeight(667 - 268 - 50), Height = Application.GetRealHeight(50), BackgroundColor = CSS.CSS_Color.DividingLineColor }; dispalyView.AddChidren(bottomOptionView); var btnPre = new Button() { Y = 1, Width = Application.GetRealWidth(374 / 2), Height = Application.GetRealHeight(50) - 1, BackgroundColor = CSS.CSS_Color.MainBackgroundColor, TextID = StringId.PreviousPage, TextAlignment = TextAlignment.Center, TextColor = CSS.CSS_Color.TextualColor, TextSize = CSS.CSS_FontSize.TextFontSize, }; bottomOptionView.AddChidren(btnPre); btnPre.MouseUpEventHandler = (sender33, e33) => { if (pageIndex < 1) { return; } pageIndex--; ChangeShowHomeList(pageIndex, dialog, showListView, newlist); }; var btnNext = new Button() { Y = 1, X = Application.GetRealWidth(374 / 2)+1, Width = Application.GetRealWidth(374 / 2), Height = Application.GetRealHeight(50) - 1, BackgroundColor = CSS.CSS_Color.MainBackgroundColor, TextID = StringId.NextPage, TextAlignment = TextAlignment.Center, TextColor = CSS.CSS_Color.TextualColor, TextSize = CSS.CSS_FontSize.TextFontSize, }; bottomOptionView.AddChidren(btnNext); btnNext.MouseUpEventHandler = (sender33, e33) => { pageIndex++; if (pageIndex > pageCount-1) { return; } ChangeShowHomeList(pageIndex, dialog, showListView,newlist); }; #endregion searchTv.TextChangeEventHandler = (sender33, e33) => { new System.Threading.Thread(() => { newlist = UserInfo.Current.regionList.FindAll((obj) => obj.homeName.Contains(e33)); pageCount = newlist.Count; pageIndex = 0; Application.RunOnMainThread(() => { ChangeShowHomeList(pageIndex, dialog, showListView, newlist); }); }).Start(); }; dialog.Show(); } }; btnResidenceDownIcon.MouseUpEventHandler = eventHandler; btnCurResidenceName.MouseUpEventHandler = eventHandler; } /// /// 切换住宅列表显示 /// void ChangeShowHomeList(int pageIndex,Dialog dialog, VerticalScrolViewLayout showListView, List newlist) { if(newlist.Count == 0) { return; } showListView.RemoveAll(); for (int i = 0; i < 6; i++) { if ((i + pageIndex * 6) >= newlist.Count) { return; } var home = newlist[i + pageIndex * 6]; var btnHomeName = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(300), Height = Application.GetRealHeight(50) - 1, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS.CSS_Color.FirstLevelTitleColor, SelectedTextColor = CSS.CSS_Color.MainColor, Text = home.homeName, TextSize = home.homeName.Length > 14 ? CSS.CSS_FontSize.TextFontSize : CSS.CSS_FontSize.SubheadingFontSize, IsSelected = DB_ResidenceData.Instance.CurrentRegion.id == home.id, IsMoreLines = true, Tag = home.id }; showListView.AddChidren(btnHomeName); showListView.AddChidren(new Button() { Height = Application.GetRealHeight(1), BackgroundColor = CSS.CSS_Color.BackgroundColor }); btnHomeName.MouseUpEventHandler += (senderH, en) => { var regionId = (string)btnHomeName.Tag; dialog.Close(); LoadEvent_ChangeCurHome(home); new System.Threading.Thread(() => { try { while (true) { if (Common.ApiUtlis.Ins.DownloadDataComplete) { System.Threading.Thread.Sleep(100); } else { Application.RunOnMainThread(() => { LoadContentView(); }); break; } } } catch { } { } }) { IsBackground = true }.Start(); HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.ChangeCurrHome(home); }; } } /// /// 更换当前选中住宅 /// /// void LoadEvent_ChangeCurHome(RegionInfoRes homeTemp) { if (DB_ResidenceData.Instance.CurrentRegion.id == homeTemp.id) { return; } DB_ResidenceData.Instance.CurrentRegion = homeTemp; DB_ResidenceData.Instance.SaveResidenceData(); btnCurResidenceName.Text = DB_ResidenceData.Instance.CurrentRegion.homeName; DB_ResidenceData.Instance.EixtAccount(); //刷新住宅数据 Common.ApiUtlis.Ins.DownloadData(); #if __IOS__ var sdm = new SiriKit.SceneDateManager(); sdm.RegionUrl = DB_ResidenceData.Instance.CurrentRegion.regionUrl; sdm.HomeId = DB_ResidenceData.Instance.CurrentRegion.id; #endif } #endregion #region 住宅管理 void LoadEvent_SkipResdentialManagePage() { if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) { EventHandler eventHandler = (sender, e) => { Action updateResidenceName = () => { btnCurResidenceName.Text = DB_ResidenceData.Instance.CurrentRegion.homeName; }; 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 = UserInfo.Current.headImagePagePath; }; Action updataUserName = () => { btnUserName.Text = UserInfo.Current.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() { if (DB_ResidenceData.Instance.GatewayType == 1) { try { EventHandler eventHandler = (sender, e) => { var page = new BrandListPage(); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnResidenceAddFunctionIcon.MouseUpEventHandler = eventHandler; btnResidenceAddFunctionText.MouseUpEventHandler = eventHandler; } catch { } } } #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 FAQHelpPage(); // MainPage.BasePageView.AddChidren(getsupportPage); // getsupportPage.LoadPage(); // MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; //}; } /// /// 跳转智能音箱页面 /// void LoadEvent_SkipSmartSpeakerPage() { btnSmartSpeakerText.MouseUpEventHandler = (sender, e) => { var page = new SmartSpeakerListPage(); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } #endregion } }