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