using System;
|
using System.Collections.Generic;
|
using HDL_ON.Common;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using Shared;
|
|
namespace HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock
|
{
|
/// <summary>
|
/// 视频门锁用户管理界面
|
/// </summary>
|
public class VideoDoorlockUserManagerPage : FrameLayout
|
{
|
FrameLayout bodyView;
|
VerticalScrolViewLayout contentView;
|
FrameLayout userPermissionsView;
|
|
Button btnUserName;
|
|
Function device;
|
VideoDoorlockUser doorlockUser;
|
|
public VideoDoorlockUserManagerPage(Function function,VideoDoorlockUser user)
|
{
|
bodyView = this;
|
device = function;
|
doorlockUser = user;
|
BackgroundColor = CSS_Color.BackgroundColor;
|
}
|
|
public void LoadPage()
|
{
|
new TopViewDiv(bodyView, Language.StringByID(StringId.UserManagement)).LoadTopView();
|
|
contentView = new VerticalScrolViewLayout()
|
{
|
Y = Application.GetRealHeight(64),
|
Height = Application.GetRealHeight(667 - 70),
|
};
|
bodyView.AddChidren(contentView);
|
|
#region 用户名称
|
var userNameView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(50),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(userNameView);
|
var btnUserNameTitle = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(120),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.User,
|
};
|
userNameView.AddChidren(btnUserNameTitle);
|
var btnEditUserNameIcon = new Button()
|
{
|
X = Application.GetRealWidth(333),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(28),
|
Height = Application.GetMinRealAverage(28),
|
UnSelectedImagePath = "Public/EditIcon.png",
|
};
|
userNameView.AddChidren(btnEditUserNameIcon);
|
|
btnUserName = new Button()
|
{
|
X = Application.GetRealWidth(100),
|
Width = Application.GetRealWidth(230),
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = CSS_Color.PromptingColor1,
|
TextSize = CSS_FontSize.TextFontSize,
|
Text = doorlockUser.lockUserName
|
};
|
userNameView.AddChidren(btnUserName);
|
btnUserName.MouseUpEventHandler = (sender, e) => {
|
LoadEvent_EditUserName();
|
};
|
|
#endregion
|
|
contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
|
|
initOptionView(false);
|
}
|
|
void initOptionView(bool isEdit)
|
{
|
if(userPermissionsView!= null)
|
{
|
userPermissionsView.RemoveAll();
|
}
|
int childrenViewHeight = Application.GetRealHeight( 108);
|
int permissionsViewHeight = Application.GetRealHeight( 291+92);
|
if (isEdit)
|
{
|
permissionsViewHeight = Application.GetRealHeight(391 + 92);
|
childrenViewHeight = Application.GetRealHeight(136);
|
}
|
|
#region 门锁用户开锁方式管理
|
userPermissionsView = new FrameLayout()
|
{
|
Height = permissionsViewHeight,
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(userPermissionsView);
|
|
var userPermissionsTitleView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(63),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
userPermissionsView.AddChidren(userPermissionsTitleView);
|
|
var btnUserPermissionsTitle = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextID = StringId.UnlockMethod
|
};
|
userPermissionsTitleView.AddChidren(btnUserPermissionsTitle);
|
|
var btnEditUserPermissions = new Button()
|
{
|
X = Application.GetRealWidth(267),
|
Width = Application.GetRealWidth(80),
|
TextAlignment = TextAlignment.CenterRight,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = CSS_Color.MainColor,
|
TextID = StringId.Edit,
|
};
|
userPermissionsTitleView.AddChidren(btnEditUserPermissions);
|
btnEditUserPermissions.MouseUpEventHandler = (sender, e) => {
|
initOptionView(isEdit ? false : true);
|
};
|
|
|
#region 开锁选项
|
var unlockOptionView = new FrameLayout()
|
{
|
Y = userPermissionsTitleView.Bottom,
|
Height = Application.GetRealHeight(231),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
userPermissionsView.AddChidren(unlockOptionView);
|
|
#region 指纹
|
var fingerprintView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(64 + 32),
|
Height = Application.GetRealHeight(64 + 24 + 20)
|
};
|
unlockOptionView.AddChidren(fingerprintView);
|
|
var btnFingerprintIcon = new Button()
|
{
|
Width = Application.GetRealWidth(64),
|
Height = Application.GetRealWidth(64),
|
UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/FingerprintIcon.png",
|
X = Application.GetRealWidth(16),
|
};
|
fingerprintView.AddChidren(btnFingerprintIcon);
|
|
var btnFingerprintText = new Button()
|
{
|
Y = btnFingerprintIcon.Bottom,
|
Height = Application.GetRealHeight(44),
|
TextAlignment = TextAlignment.Center,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = CSS_Color.PromptingColor1,
|
TextID = StringId.Fingerprints,
|
};
|
fingerprintView.AddChidren(btnFingerprintText);
|
|
if (doorlockUser.fingerCount > 0)
|
{
|
btnFingerprintIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/FingerprintOnIcon.png";
|
btnFingerprintText.TextColor = CSS_Color.FirstLevelTitleColor;
|
if (Language.CurrentLanguage == "Chinese")
|
{
|
btnFingerprintText.Text = doorlockUser.fingerCount + "组" + Language.StringByID(StringId.Fingerprints);
|
}
|
else
|
{
|
btnFingerprintText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.Fingerprints);
|
}
|
}
|
|
if (isEdit)
|
{
|
var btnClearFingerprints = new Button()
|
{
|
Y = btnFingerprintText.Bottom,
|
Width = Application.GetRealWidth(60),
|
Height = Application.GetRealHeight(28),
|
BorderWidth = 1,
|
BorderColor = CSS_Color.MainColor,
|
Radius = (uint)Application.GetRealWidth(4),
|
TextID = StringId.Clear,
|
};
|
fingerprintView.AddChidren(btnClearFingerprints);
|
btnClearFingerprints.MouseUpEventHandler = (sender, e) => {
|
|
};
|
}
|
#endregion
|
|
|
#region 数字密码
|
var digitalPasswordView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(64 + 32),
|
Height = Application.GetRealHeight(64 + 24 + 20)
|
};
|
unlockOptionView.AddChidren(digitalPasswordView);
|
|
var btnDigitalPasswordIcon = new Button()
|
{
|
Width = Application.GetRealWidth(64),
|
Height = Application.GetRealWidth(64),
|
UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/DigitalPasswordIcon.png",
|
X = Application.GetRealWidth(16),
|
};
|
digitalPasswordView.AddChidren(btnDigitalPasswordIcon);
|
|
var btnDigitalPasswordText = new Button()
|
{
|
Y = btnDigitalPasswordIcon.Bottom,
|
Height = Application.GetRealHeight(44),
|
TextAlignment = TextAlignment.Center,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = CSS_Color.PromptingColor1,
|
TextID = StringId.DigitalPassword,
|
};
|
digitalPasswordView.AddChidren(btnDigitalPasswordText);
|
|
if (doorlockUser.fingerCount > 0)
|
{
|
btnDigitalPasswordIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/DigitalPasswordOnIcon.png";
|
btnDigitalPasswordText.TextColor = CSS_Color.FirstLevelTitleColor;
|
if (Language.CurrentLanguage == "Chinese")
|
{
|
btnDigitalPasswordText.Text = doorlockUser.fingerCount + "组" + Language.StringByID(StringId.DigitalPassword);
|
}
|
else
|
{
|
btnDigitalPasswordText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.DigitalPassword);
|
}
|
}
|
|
if (isEdit)
|
{
|
var btnClearDigitalPassword = new Button()
|
{
|
Y = btnDigitalPasswordText.Bottom,
|
Width = Application.GetRealWidth(60),
|
Height = Application.GetRealHeight(28),
|
BorderWidth = 1,
|
BorderColor = CSS_Color.MainColor,
|
Radius = (uint)Application.GetRealWidth(4),
|
TextID = StringId.Clear,
|
};
|
digitalPasswordView.AddChidren(btnClearDigitalPassword);
|
}
|
#endregion
|
|
#region NFC
|
var nfcView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(263),
|
Width = Application.GetRealWidth(64 + 32),
|
Height = Application.GetRealHeight(64 + 24 + 20)
|
};
|
unlockOptionView.AddChidren(nfcView);
|
|
var btnNfcIcon = new Button()
|
{
|
Width = Application.GetRealWidth(64),
|
Height = Application.GetRealWidth(64),
|
UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/NfcIcon.png",
|
X = Application.GetRealWidth(16),
|
};
|
nfcView.AddChidren(btnNfcIcon);
|
|
var btnNfcText = new Button()
|
{
|
Y = btnNfcIcon.Bottom,
|
Height = Application.GetRealHeight(44),
|
TextAlignment = TextAlignment.Center,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = CSS_Color.PromptingColor1,
|
TextID = StringId.NfcKey,
|
};
|
nfcView.AddChidren(btnNfcText);
|
|
if (doorlockUser.fingerCount > 0)
|
{
|
btnNfcIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/NfcOnIcon.png";
|
btnNfcText.TextColor = CSS_Color.FirstLevelTitleColor;
|
if (Language.CurrentLanguage == "Chinese")
|
{
|
btnNfcText.Text = doorlockUser.fingerCount + "组" + Language.StringByID(StringId.NfcKey);
|
}
|
else
|
{
|
btnNfcText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.NfcKey);
|
}
|
}
|
|
if (isEdit)
|
{
|
var btnClearNfc = new Button()
|
{
|
Y = btnNfcText.Bottom,
|
Width = Application.GetRealWidth(60),
|
Height = Application.GetRealHeight(28),
|
BorderWidth = 1,
|
BorderColor = CSS_Color.MainColor,
|
Radius = (uint)Application.GetRealWidth(4),
|
TextID = StringId.Clear,
|
};
|
nfcView.AddChidren(btnClearNfc);
|
}
|
#endregion
|
|
#region 人脸
|
var faceView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(16),
|
Y = fingerprintView.Bottom+ Application.GetRealHeight(20),
|
Width = Application.GetRealWidth(64 + 32),
|
Height = Application.GetRealHeight(64 + 24 + 20)
|
};
|
unlockOptionView.AddChidren(faceView);
|
|
var btnFaceIcon = new Button()
|
{
|
Width = Application.GetRealWidth(64),
|
Height = Application.GetRealWidth(64),
|
UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/FaceIcon.png",
|
X = Application.GetRealWidth(16),
|
};
|
faceView.AddChidren(btnFaceIcon);
|
|
var btnFaceText = new Button()
|
{
|
Y = btnFaceIcon.Bottom,
|
Height = Application.GetRealHeight(44),
|
TextAlignment = TextAlignment.Center,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = CSS_Color.PromptingColor1,
|
TextID = StringId.FaceKey,
|
};
|
faceView.AddChidren(btnFaceText);
|
|
if (doorlockUser.fingerCount > 0)
|
{
|
btnFaceIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/UserRightsManagement/FaceOnIcon.png";
|
btnFaceText.TextColor = CSS_Color.FirstLevelTitleColor;
|
if (Language.CurrentLanguage == "Chinese")
|
{
|
btnFaceText.Text = doorlockUser.fingerCount + "组" + Language.StringByID(StringId.FaceKey);
|
}
|
else
|
{
|
btnFaceText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.FaceKey);
|
}
|
}
|
|
if (isEdit)
|
{
|
var btnClearFace = new Button()
|
{
|
Y = btnFaceText.Bottom,
|
Width = Application.GetRealWidth(60),
|
Height = Application.GetRealHeight(28),
|
BorderWidth = 1,
|
BorderColor = CSS_Color.MainColor,
|
Radius = (uint)Application.GetRealWidth(4),
|
TextID = StringId.Clear,
|
};
|
faceView.AddChidren(btnClearFace);
|
}
|
#endregion
|
|
#endregion
|
|
#endregion
|
|
var delUserView = new FrameLayout()
|
{
|
Y = permissionsViewHeight - Application.GetRealHeight(92),
|
Height = Application.GetRealHeight(92),
|
BackgroundColor = CSS_Color.BackgroundColor,
|
};
|
userPermissionsView.AddChidren(delUserView);
|
|
Button btnDelUser = new Button()
|
{
|
Y = Application.GetRealHeight(48),
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(220),
|
Height = Application.GetRealHeight(44),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
TextColor = CSS_Color.WarningColor,
|
Radius = (uint)Application.GetRealWidth(22),
|
TextID = StringId.DeleteUser,
|
};
|
delUserView.AddChidren(btnDelUser);
|
|
|
}
|
|
|
|
/// <summary>
|
/// 加载修改用户名称事件
|
/// </summary>
|
void LoadEvent_EditUserName()
|
{
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
Action<string> callBack = (str) =>
|
{
|
if (string.IsNullOrEmpty(str))
|
{
|
new Tip()
|
{
|
CloseTime = 1,
|
Text = Language.StringByID(StringId.UesrNameCannotBeEmpty),
|
Direction = AMPopTipDirection.None,
|
}.Show(bodyView);
|
return;
|
}
|
if (str == UserInfo.Current.userName)
|
{
|
return;
|
}
|
var waitPage = new Loading();
|
bodyView.AddChidren(waitPage);
|
waitPage.Start(Language.StringByID(StringId.PleaseWait));
|
new System.Threading.Thread(() =>
|
{
|
try
|
{
|
var resultObj = ApiUtlis.Ins.HttpRequest.EditDoorlockUserName(device.deviceId, doorlockUser.extUserId,str);
|
if (resultObj.Code == StateCode.SUCCESS)
|
{
|
UserInfo.Current.userName = str;
|
UserInfo.Current.SaveUserInfo();
|
Application.RunOnMainThread(() =>
|
{
|
btnUserName.Text = str;
|
});
|
}
|
else
|
{
|
//失败提示
|
IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
|
}
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"update user name error : {ex.Message}");
|
}
|
finally
|
{
|
Application.RunOnMainThread(() =>
|
{
|
if (waitPage != null)
|
{
|
waitPage.RemoveFromParent();
|
waitPage = null;
|
}
|
});
|
}
|
})
|
{ IsBackground = true }.Start();
|
};
|
new PublicAssmebly().LoadDialog_EditParater(StringId.ChangeName, doorlockUser.lockUserName, callBack, StringId.UesrNameCannotBeEmpty, 0, new System.Collections.Generic.List<string>());
|
};
|
btnUserName.MouseUpEventHandler = eventHandler;
|
}
|
|
|
|
}
|
}
|