using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.UserCenter.Safety
{
///
/// 编辑安防用户密码的界面
///
public class PasswordUserEditorForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 用户账号
///
private int pswNo = 0;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 用户密码编号
/// 用户密码
/// 用户密码提示
public void ShowForm(int i_pswNo, string i_password, string i_passwordTip)
{
this.pswNo = i_pswNo;
this.ScrollEnabled = false;
//设置头部信息
base.SetTitleText(i_passwordTip);
//初始化中部信息
this.InitMiddleFrame(i_password, i_passwordTip);
}
///
/// 初始化中部信息
///
/// 用户密码
/// 用户密码提示
private void InitMiddleFrame(string i_password, string i_passwordTip)
{
//清空bodyFrame
this.ClearBodyFrame();
var listBackControl = new VerticalFrameControl();
listBackControl.Height = bodyFrameLayout.Height;
bodyFrameLayout.AddChidren(listBackControl);
var frameback = new FrameLayout();
frameback.Y = Application.GetRealHeight(179);
frameback.Height = Application.GetRealHeight(395);
frameback.Width = Application.GetRealWidth(717);
frameback.Gravity = Gravity.CenterHorizontal;
frameback.BackgroundImagePath = "Safeguard/SafeguardPasswordGround.png";
listBackControl.frameTable.AddChidren(frameback);
//当前使用密码
var btnNowTip = new NormalViewControl(frameback.Width, Application.GetRealHeight(50), false);
btnNowTip.Y = Application.GetRealHeight(81);
btnNowTip.TextSize = 12;
btnNowTip.TextAlignment = TextAlignment.Center;
btnNowTip.TextColor = UserCenterColor.Current.TextGrayColor3;
btnNowTip.TextID = R.MyInternationalizationString.uNowUsePassword;
frameback.AddChidren(btnNowTip);
var btnPassword = new NormalViewControl(frameback.Width, Application.GetRealHeight(90), false);
btnPassword.TextAlignment = TextAlignment.Center;
btnPassword.Y = Application.GetRealHeight(150);
btnPassword.TextSize = 24;
btnPassword.TextColor = 0xfffc744b;
btnPassword.Text = i_password;
frameback.AddChidren(btnPassword);
//初始化桌布
var tableContr = new InformationEditorControl();
var listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 1025);
//备注信息
string caption = Language.StringByID(R.MyInternationalizationString.uNoteInformation);
var rowNote = new FrameCaptionInputControl(caption, i_passwordTip, listview.rowSpace / 2);
rowNote.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPlesaeInputNoteInformation);
rowNote.txtInput.MaxByte = 90;
listview.AddChidren(rowNote);
rowNote.InitControl();
rowNote.AddBottomLine();
rowNote.txtInput.FinishInputEvent += async () =>
{
if (rowNote.Text == string.Empty)
{
rowNote.Text = i_passwordTip;
return;
}
if (i_passwordTip != rowNote.Text)
{
//修改密码备注
var result = await this.EditorPassworTip(i_password, rowNote.Text, true);
if (result == true)
{
i_passwordTip = rowNote.Text;
}
}
};
//修改密码
var rowPsw = new FrameRowControl(listview.rowSpace / 2);
listview.AddChidren(rowPsw);
rowPsw.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uChangedPassword), 300);
rowPsw.AddRightArrow();
rowPsw.AddBottomLine();
rowPsw.ButtonClickEvent += (sender, e) =>
{
var form = new PasswordAddNewForm();
form.AddForm(this.pswNo, rowNote.Text);
form.PasswordChangedEvent += (newPassword) =>
{
btnPassword.Text = newPassword;
i_password = newPassword;
};
};
//初始化桌布完成
tableContr.FinishInitControl();
tableContr = null;
//重写底层返回按键的事件
this.BackButtonClickEvent = async (sender) =>
{
sender.CanClick = false;
if (rowNote.Text == string.Empty || i_passwordTip == rowNote.Text)
{
this.CloseForm();
}
else
{
//修改密码备注
var result = await this.EditorPassworTip(i_password, rowNote.Text, false);
sender.CanClick = true;
if (result == true)
{
this.CloseForm();
}
}
};
}
#endregion
#region ■ 修改备注___________________________
///
/// 修改密码备注
///
/// 用户密码
/// 用户密码提示
private async System.Threading.Tasks.Task EditorPassworTip(string i_password, string i_passwordTip, bool ShowMsg)
{
var result = await HdlSafeguardLogic.Current.AddPassWordTips(this.pswNo, i_password, i_passwordTip);
if (result == true)
{
if (ShowMsg == true)
{
//修改备注信息成功!
string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationSuccess);
this.ShowMassage(ShowMsgType.Tip, msg);
}
//设置头部信息
base.SetTitleText(i_passwordTip);
}
return result;
}
#endregion
}
}