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
}
}