using System;
using Shared;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using System.Collections.Generic;
namespace HDL_ON.UI
{
///
/// 成员管理 成员列表页面
///
public partial class MemberManagementPage : FrameLayout
{
MemberManagementPage bodyView;
Loading waitPage;
VerticalScrolViewLayout contentView;
List residenceMemberInfos;
Action action;
public MemberManagementPage()
{
bodyView = this;
residenceMemberInfos = new List();
}
public void LoadPage()
{
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
//创建读取成员账号线程
var thread = LoadThread_GetResidenceMemberAccount();
waitPage = new Loading();
new PublicAssmebly().LoadPage_WaitPage(thread, bodyView, waitPage);
Action backAction = () =>
{
};
Action backAction_AddMember = () =>
{
LoadThread_GetResidenceMemberAccount().Start();
};
Action refreshAction = () =>
{
var mmp = new AddMemberScanPage(backAction_AddMember);
MainPage.BasePageView.AddChidren(mmp);
mmp.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
new TopViewDiv(bodyView, Language.StringByID(StringId.MemberManagement)).LoadTopView_MemberTopView(refreshAction, backAction);
contentView = new VerticalScrolViewLayout()
{
Y = Application.GetRealHeight(64),
Height = Application.GetRealHeight(590),
};
bodyView.AddChidren(contentView);
LoadMemberRow();
}
///
/// 加载成员列表区域
///
void LoadMemberRow()
{
contentView.RemoveAll();
foreach (var memberInfo in residenceMemberInfos)
{
contentView.AddChidren(new Button()
{
Height = Application.GetRealWidth(12),
});
var sView = new VerticalScrolViewLayout()
{
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
//Height = Application.GetRealWidth(230),
Height = Application.GetRealWidth(180),
BackgroundColor = CSS_Color.MainBackgroundColor,
Radius = (uint)Application.GetRealWidth(12),
BorderColor = 0x00000000,
BorderWidth = 0,
ScrollEnabled = false,
VerticalScrollBarEnabled = false,//隐藏滚动条
};
if (Entity.DB_ResidenceData.Instance.SupportFacePass)
{
sView.Height = Application.GetRealWidth(180 + 50);
}
contentView.AddChidren(sView);
#region 头像信息
var view1 = new FrameLayout()
{
Height = Application.GetRealWidth(79),
};
sView.AddChidren(view1);
var userTypeView = new FrameLayout()
{
Width = Application.GetRealWidth(122),
Height = Application.GetRealHeight(58),
X = Application.GetRealWidth(270),
Y = Application.GetRealHeight(16),
BackgroundImagePath = "PersonalCenter/UserTypebg.png",
};
view1.AddChidren(userTypeView);
var btnUserTypeName = new Button()
{
X = Application.GetRealWidth(28),
Width = Application.GetRealWidth(80),
Height = Application.GetRealHeight(17 * 3),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.MainBackgroundColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextID = StringId.Member
};
userTypeView.AddChidren(btnUserTypeName);
if(Language.CurrentLanguage == "English")
{
userTypeView.X = Application.GetRealWidth(260);
}
var memberHeadImageView = new ImageView()
{
X = Application.GetRealWidth(16),
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(48),
Height = Application.GetMinRealAverage(48),
Radius = (uint)Application.GetMinRealAverage(24),
ImagePath = memberInfo.headImagePagePath,
};
view1.AddChidren(memberHeadImageView);
var btnMemberName = new Button()
{
X = Application.GetRealWidth(88),
Y = Application.GetRealWidth(20),
Width = Application.GetRealWidth(200),
Height = Application.GetRealWidth(24),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
IsBold = true,
//Text = memberInfo.UserName,
Text = HDLCommon.Current.GetUserName(memberInfo.memberName)
};
view1.AddChidren(btnMemberName);
var btnMemberEmail = new Button()
{
X = Application.GetRealWidth(88),
Y = btnMemberName.Bottom,
Width = Application.GetRealWidth(200),
Height = Application.GetRealWidth(17),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.TextualColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
Text = memberInfo.Account,
};
view1.AddChidren(btnMemberEmail);
sView.AddChidren(new Button()
{
Gravity = Gravity.CenterHorizontal,
Height = Application.GetRealWidth(1),
Width = Application.GetRealWidth(311),
BackgroundColor = CSS_Color.DividingLineColor,
});
#endregion
#region 昵称信息
var view2 = new FrameLayout()
{
Height = Application.GetRealWidth(49),
};
sView.AddChidren(view2);
var btnNicknameTitle = new Button()
{
X = Application.GetRealWidth(16),
Width = Application.GetRealWidth(200),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
TextID = StringId.Nickname,
};
view2.AddChidren(btnNicknameTitle);
var btnNickname = new Button()
{
Width = Application.GetRealWidth(295),
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.TextFontSize,
Text = memberInfo.nickName
};
view2.AddChidren(btnNickname);
var btnNicknameRight = new Button()
{
X = Application.GetRealWidth(311),
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
UnSelectedImagePath = "Public/Right.png",
};
view2.AddChidren(btnNicknameRight);
sView.AddChidren(new Button()
{
Gravity = Gravity.CenterHorizontal,
Height = Application.GetRealWidth(1),
Width = Application.GetRealWidth(311),
BackgroundColor = CSS_Color.DividingLineColor,
});
LoadView_EidtNickname(btnNickname, btnNicknameRight, memberInfo);
#endregion
#region 使用权限
var view3 = new FrameLayout()
{
Height = Application.GetRealWidth(49),
};
sView.AddChidren(view3);
var btnPermissionTitle = new Button()
{
X = Application.GetRealWidth(16),
Width = Application.GetRealWidth(330),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
TextID = StringId.PermissionToUse,
};
view3.AddChidren(btnPermissionTitle);
var btnPermissionRight = new Button()
{
X = Application.GetRealWidth(311),
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
UnSelectedImagePath = "Public/Right.png",
};
view3.AddChidren(btnPermissionRight);
sView.AddChidren(new Button()
{
Gravity = Gravity.CenterHorizontal,
Height = Application.GetRealWidth(1),
Width = Application.GetRealWidth(311),
BackgroundColor = CSS_Color.DividingLineColor,
});
EventHandler eHandler = (sender, e) =>
{
action = () => {
residenceMemberInfos.Remove(memberInfo);
LoadMemberRow();
};
var mmp = new MemberPermissionPage(memberInfo, action);
MainPage.BasePageView.AddChidren(mmp);
mmp.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
view3.MouseUpEventHandler = eHandler;
btnPermissionTitle.MouseUpEventHandler = eHandler;
btnPermissionRight.MouseUpEventHandler = eHandler;
#endregion
#region 人脸管理
if (Entity.DB_ResidenceData.Instance.SupportFacePass)
{
var view4 = new FrameLayout()
{
Height = Application.GetRealWidth(49),
};
sView.AddChidren(view4);
var btnFaceManagementTitle = new Button()
{
X = Application.GetRealWidth(16),
Width = Application.GetRealWidth(330),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
TextID = StringId.FaceManagemant,
};
view4.AddChidren(btnFaceManagementTitle);
var btnFaceManagementRight = new Button()
{
X = Application.GetRealWidth(311),
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
UnSelectedImagePath = "Public/Right.png",
};
view4.AddChidren(btnFaceManagementRight);
//sView.AddChidren(new Button()
//{
// Gravity = Gravity.CenterHorizontal,
// Height = Application.GetRealWidth(1),
// Width = Application.GetRealWidth(311),
// BackgroundColor = CSS_Color.DividingLineColor,
//});
EventHandler eFaceHandler = (sender, e) =>
{
if (OnAppConfig.Instance.FaceManagementTip)
{
return;
}
Dialog dialog = new Dialog()
{
BackgroundColor = CSS_Color.DialogTransparentColor1,
};
FrameLayout contentView = new FrameLayout()
{
Gravity = Gravity.Center,
Width = Application.GetRealWidth(270),
Height = Application.GetRealHeight(192),
BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
BorderColor = 0x00000000,
BorderWidth = 0,
Radius = (uint)Application.GetMinRealAverage(10),
};
dialog.AddChidren(contentView);
Button btnTitle = new Button()
{
Y = Application.GetRealHeight(16),
Height = Application.GetRealHeight(30),
TextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextAlignment = TextAlignment.Center,
IsBold = true,
TextID = StringId.FaceProtocolPrompt,
};
contentView.AddChidren(btnTitle);
Button btnMsg = new Button()
{
Gravity = Gravity.CenterHorizontal,
Height = Application.GetRealHeight(35),
Y = btnTitle.Bottom,
Width = Application.GetRealHeight(200),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.TextualColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
Text = " 为保护您的个人隐私权益,特向您通知并申请明确同意授权。请你仔细阅读",
IsMoreLines = true,
};
contentView.AddChidren(btnMsg);
Button btnMsg1 = new Button()
{
Gravity = Gravity.CenterHorizontal,
Height = Application.GetRealHeight(15),
Y = btnMsg.Bottom,
Width = Application.GetRealHeight(200),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
Text = " 《On Pro人脸信息采集协议》",
IsMoreLines = true,
};
contentView.AddChidren(btnMsg1);
Button btnMsg2 = new Button()
{
Gravity = Gravity.CenterHorizontal,
Height = Application.GetRealHeight(35),
Y = btnMsg1.Bottom,
Width = Application.GetRealHeight(200),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.TextualColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
Text = " 若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。",
IsMoreLines = true,
};
contentView.AddChidren(btnMsg2);
Button btnLine = new Button()
{
Y = Application.GetRealHeight(149),
Height = Application.GetRealHeight(1),
Width = Application.GetRealWidth(270 / 2),
BackgroundColor = CSS.CSS_Color.DividingLineColor,
};
contentView.AddChidren(btnLine);
Button btnCancel = new Button()
{
Y = btnLine.Bottom,
Width = Application.GetRealWidth(135),
Height = Application.GetRealHeight(43),
TextAlignment = TextAlignment.Center,
TextColor = CSS_Color.TextualColor,
TextSize = CSS_FontSize.SubheadingFontSize,
//SelectedTextColor = CSS_Color.MainBackgroundColor,
//SelectedBackgroundColor = CSS_Color.MainColor,
TextID = StringId.Disagree,
};
contentView.AddChidren(btnCancel);
Button btnConfirm = new Button()
{
X = btnCancel.Right,
Y = btnLine.Y,
Width = Application.GetRealWidth(135),
Height = Application.GetRealHeight(45),
TextAlignment = TextAlignment.Center,
//TextColor = CSS_Color.TextualColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextColor = CSS_Color.MainBackgroundColor,
BackgroundColor = CSS_Color.MainColor,
TextID = StringId.Agree,
};
contentView.AddChidren(btnConfirm);
//例:右下圆角 大小为50
int mRectCornerID = HDLUtils.RectCornerBottomRight;
btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID);
dialog.Show();
btnCancel.MouseUpEventHandler += (sender, e) =>
{
dialog.Close();
};
btnMsg1.MouseUpEventHandler += (sender, e) =>
{
string url = "https://developer.hdlcontrol.com/人脸信息采集协议.html";
if (Language.CurrentLanguage != "Chinese")
{
url = "https://developer.hdlcontrol.com/Face information collection protocol.html";
}
new WebViewDialog().LoadPage("人脸信息采集协议", url);
dialog.Close();
};
};
view4.MouseUpEventHandler = eHandler;
btnFaceManagementTitle.MouseUpEventHandler = eFaceHandler;
btnFaceManagementRight.MouseUpEventHandler = eFaceHandler;
}
#endregion
//#region 创建场景 2020-12-23 隐藏创建场景按钮
//var view4 = new FrameLayout()
//{
// Height = Application.GetRealWidth(50),
//};
//sView.AddChidren(view4);
//var btnCreateSceneTitle = new Button()
//{
// X = Application.GetRealWidth(16),
// Width = Application.GetRealWidth(200),
// TextAlignment = TextAlignment.CenterLeft,
// TextColor = CSS_Color.FirstLevelTitleColor,
// TextSize = CSS_FontSize.TextFontSize,
// TextID = StringId.CreateScene,
//};
//view4.AddChidren(btnCreateSceneTitle);
//var btnCreateSceneRight = new Button()
//{
// X = Application.GetRealWidth(287),
// Y = Application.GetRealHeight(4),
// Width = Application.GetMinRealAverage(38),
// Height = Application.GetMinRealAverage(38),
// UnSelectedImagePath = "Public/Switch_2.png",
// SelectedImagePath = "Public/SwitchOn_2.png",
// IsSelected = memberInfo.isAllowCreateScene
//};
//view4.AddChidren(btnCreateSceneRight);
//LoadView_ChangeCreateSceneState(btnCreateSceneRight, btnCreateSceneTitle, memberInfo);
//#endregion
}
}
}
}