using System;
|
namespace Shared.Phone.UserCenter.Member
|
{
|
/// <summary>
|
/// 成员信息管理
|
/// </summary>
|
public class MemberManagementForm : UserCenterCommonForm
|
{
|
#region ■ 变量声明___________________________
|
|
/// <summary>
|
/// 成员的信息
|
/// </summary>
|
private MemberInfoRes memberInfo = null;
|
/// <summary>
|
/// TopFrameLayout
|
/// </summary>
|
private SpecialFrameLayout specialTopFrame = null;
|
/// <summary>
|
/// 管理员权限图标控件
|
/// </summary>
|
private TopLayoutMostRightView btnTopIcon = null;
|
/// <summary>
|
/// 权限的翻译名控件
|
/// </summary>
|
private ViewNormalControl btnAuthority = null;
|
|
#endregion
|
|
#region ■ 初始化_____________________________
|
|
/// <summary>
|
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
/// </summary>
|
/// <param name="info">成员信息</param>
|
public void ShowForm(MemberInfoRes info)
|
{
|
this.memberInfo = info;
|
|
//设置标题信息
|
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.MenberManagement));
|
|
//为了能够显示模块图样
|
bodyFrameLayout.BackgroundColor = UserCenterColor.Current.TopFrameLayout;
|
|
//初始化右上角的图标
|
this.InitTopRightIcon();
|
|
//初始化中部控件
|
this.InitMiddleFrame();
|
}
|
|
/// <summary>
|
/// 初始化右上角的图标
|
/// </summary>
|
private void InitTopRightIcon()
|
{
|
if (UserCenterResourse.UserInfo.AuthorityNo != 1)
|
{
|
return;
|
}
|
//管理员权限图标
|
btnTopIcon = new TopLayoutMostRightView();
|
if (memberInfo.AccountType == 1)
|
{
|
btnTopIcon.UnSelectedImagePath = "Account/HadAuthority.png";
|
}
|
else
|
{
|
btnTopIcon.UnSelectedImagePath = "Account/NotAuthority.png";
|
}
|
topFrameLayout.AddChidren(btnTopIcon);
|
|
btnTopIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
string msg = Language.StringByID(R.MyInternationalizationString.uDownSubAccountLevel);
|
if (memberInfo.AccountType != 1)
|
{
|
msg = Language.StringByID(R.MyInternationalizationString.uUpSubAccountLevel);
|
}
|
this.ShowConfirmMsg(msg, "UpOrDownSubAccountLevel");
|
};
|
}
|
|
/// <summary>
|
/// 初始化中部控件
|
/// </summary>
|
private void InitMiddleFrame()
|
{
|
//初始化用户图标
|
this.InitMenberIconControl();
|
|
//初始化信息列表
|
this.InitInfoList();
|
}
|
|
/// <summary>
|
/// 初始化用户图标
|
/// </summary>
|
private void InitMenberIconControl()
|
{
|
this.specialTopFrame = new SpecialFrameLayout(400, 10);
|
specialTopFrame.BackgroundColor = UserCenterColor.Current.BodyFrameLayout;
|
bodyFrameLayout.AddChidren(specialTopFrame);
|
|
//用户图标
|
var btnUserIcon = new ProfilePhotoControl();
|
btnUserIcon.Y = Application.GetRealHeight(40);
|
btnUserIcon.Gravity = Gravity.CenterHorizontal;
|
btnUserIcon.UnSelectedImagePath = "Account/Admin.png";
|
this.specialTopFrame.AddChidren(btnUserIcon);
|
|
//权限
|
btnAuthority = new ViewNormalControl(800, true);
|
btnAuthority.TextAlignment = TextAlignment.Center;
|
btnAuthority.Y = btnUserIcon.Bottom + Application.GetRealHeight(10);
|
btnAuthority.Gravity = Gravity.CenterHorizontal;
|
btnAuthority.TextColor = UserCenterColor.Current.TextGrayColor;
|
btnAuthority.TextID = R.MyInternationalizationString.uMember;
|
if (memberInfo.AccountType == 1)
|
{
|
//拥有管理员权限
|
btnAuthority.TextID = R.MyInternationalizationString.uMemberHadActionAuthority;
|
}
|
this.specialTopFrame.AddChidren(btnAuthority);
|
|
//昵称
|
var btnName = new ViewNormalControl(800, true);
|
btnName.TextAlignment = TextAlignment.Center;
|
btnName.Y = btnAuthority.Bottom + Application.GetRealHeight(10);
|
btnName.Text = memberInfo.UserName;
|
btnName.Gravity = Gravity.CenterHorizontal;
|
this.specialTopFrame.AddChidren(btnName, HeightAutoMode.IncreaseOnly);
|
if (string.IsNullOrEmpty(memberInfo.UserName) == true)
|
{
|
btnName.Text = memberInfo.Account;
|
}
|
}
|
|
#endregion
|
|
#region ■ 初始化信息列表_____________________
|
|
/// <summary>
|
/// 初始化信息列表
|
/// </summary>
|
private void InitInfoList()
|
{
|
//创建一个FrameLayout
|
var frameLayout = new FrameLayout();
|
frameLayout.Height = bodyFrameLayout.Height - specialTopFrame.Height - Application.GetRealHeight(50);
|
frameLayout.BackgroundColor = UserCenterColor.Current.BodyFrameLayout;
|
frameLayout.Y = specialTopFrame.Bottom + Application.GetRealHeight(50);
|
bodyFrameLayout.AddChidren(frameLayout);
|
|
//标题:成员权限
|
var btnMenberTile = new ViewNormalControl(800, true);
|
btnMenberTile.X = ControlCommonResourse.XXLeft;
|
btnMenberTile.Y = Application.GetRealHeight(20);
|
btnMenberTile.TextID = R.MyInternationalizationString.MenberAuthority;
|
frameLayout.AddChidren(btnMenberTile);
|
|
//添加远程操作行
|
var rowLayout = new RowLayout();
|
rowLayout.Y = btnMenberTile.Bottom + Application.GetRealHeight(10);
|
rowLayout.Height = ControlCommonResourse.ListViewRowHeight;
|
frameLayout.AddChidren(rowLayout);
|
this.AddRemoteRow(rowLayout);
|
|
//添加已共享内容行
|
var rowDevice = new StatuRowLayout();
|
rowDevice.Y = rowLayout.Bottom;
|
frameLayout.AddChidren(rowDevice);
|
this.AddShardContentRow(rowDevice);
|
|
//添加画面底部的说明
|
var frameNote = new FrameLayout();
|
frameNote.Height = ControlCommonResourse.NormalControlHeight * 2;
|
frameNote.Y = Application.GetRealHeight(680);
|
frameLayout.AddChidren(frameNote);
|
|
//一旦移除该家庭成员,他/她将无法使用该网关下所绑定的设备
|
Button btnNote1 = new ViewNormalControl(Application.GetRealWidth(800), ControlCommonResourse.NormalControlHeight * 2, false);
|
btnNote1.TextID = R.MyInternationalizationString.RemoveMenberAndDonotUserBindGatewayDevice;
|
btnNote1.IsMoreLines = true;
|
btnNote1.TextColor = UserCenterColor.Current.Gray;
|
btnNote1.Gravity = Gravity.CenterHorizontal;
|
btnNote1.TextAlignment = TextAlignment.Center;
|
frameNote.AddChidren(btnNote1);
|
|
var btnIcon = new IconViewControl(80);
|
btnIcon.X = btnNote1.X - Application.GetRealWidth(80);
|
btnIcon.UnSelectedImagePath = "Item/Tips.png";
|
btnIcon.Gravity = Gravity.CenterVertical;
|
frameNote.AddChidren(btnIcon);
|
|
//添加移除按钮
|
var btnDelete = new BottomClickButton();
|
btnDelete.TextID = R.MyInternationalizationString.RemoveBotton;
|
btnDelete.Y = frameNote.Bottom + Application.GetRealHeight(100);
|
btnDelete.BackgroundColor = UserCenterColor.Current.Red;
|
frameLayout.AddChidren(btnDelete);
|
btnDelete.MouseUpEventHandler += (sender, e) =>
|
{
|
//确定要移除该家庭成员吗?
|
string msg = Language.StringByID(R.MyInternationalizationString.uConfirmRemoveMember);
|
this.ShowConfirmMsg(msg, "DeleteSubAccount");
|
};
|
}
|
|
#endregion
|
|
#region ■ 远程操作行_________________________
|
|
/// <summary>
|
/// 添加远程操作行
|
/// </summary>
|
/// <param name="row">Row.</param>
|
private void AddRemoteRow(RowLayout row)
|
{
|
//图标
|
var btnIcon = new RowLeftIconView();
|
btnIcon.UnSelectedImagePath = "Item/Remote.png";
|
btnIcon.SelectedImagePath = "Item/RemoteSelected.png";
|
row.AddChidren(btnIcon);
|
|
//文字:远程操作
|
var btnName = new RowCenterView(true);
|
btnName.TextID = R.MyInternationalizationString.RemoteManipulation;
|
row.AddChidren(btnName);
|
|
//开关
|
var btnSwitch = new SwichControl();
|
row.AddChidren(btnSwitch);
|
btnSwitch.MouseUpEventHandler += (sender, e) =>
|
{
|
btnSwitch.IsSelected = !btnSwitch.IsSelected;
|
};
|
}
|
|
#endregion
|
|
#region ■ 已共享内容行_______________________
|
|
/// <summary>
|
/// 添加已共享内容行
|
/// </summary>
|
/// <param name="row">Row.</param>
|
private void AddShardContentRow(StatuRowLayout row)
|
{
|
//图标
|
var btnIcon = new RowLeftIconView();
|
btnIcon.UnSelectedImagePath = "Item/ShardDevice.png";
|
btnIcon.SelectedImagePath = "Item/ShardDeviceSelected.png";
|
row.AddChidren(btnIcon);
|
|
//文字:已共享内容行
|
var btnName = new RowCenterView(true);
|
btnName.TextID = R.MyInternationalizationString.uHadSharedContent;
|
row.AddChidren(btnName);
|
|
//右图标
|
row.AddRightIconControl();
|
|
var memberShardInfo = new MemberShardInfoData();
|
row.MouseUpEvent += (sender, e) =>
|
{
|
var form = new SharedContent.SearchConfigureSharedListRoomForm();
|
this.AddForm(form, memberInfo, memberShardInfo);
|
};
|
}
|
|
#endregion
|
|
#region ■ 升级或者降级子账号_________________
|
|
/// <summary>
|
/// 升级或者降级子账号
|
/// </summary>
|
public async void UpOrDownSubAccountLevel()
|
{
|
//开启进度条
|
this.ShowProgressBar();
|
|
var pra = new UpOrDownLevelPra();
|
pra.DistributedMark = memberInfo.DistributedMark;
|
|
bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpSubAccount", pra);
|
if (result == false)
|
{
|
this.CloseProgressBar();
|
return;
|
}
|
this.CloseProgressBar();
|
|
//变更权限
|
memberInfo.AccountType = memberInfo.AccountType == 1 ? 0 : 1;
|
|
Application.RunOnMainThread(() =>
|
{
|
//变更权限图标
|
if (memberInfo.AccountType == 1)
|
{
|
btnTopIcon.UnSelectedImagePath = "Account/HadAuthority.png";
|
}
|
else
|
{
|
btnTopIcon.UnSelectedImagePath = "Account/NotAuthority.png";
|
}
|
//变更权限文字
|
btnAuthority.TextID = memberInfo.AccountType == 1 ? R.MyInternationalizationString.uMemberHadActionAuthority : R.MyInternationalizationString.uMember;
|
|
//打开显示成功的画面
|
if (memberInfo.AccountType == 1)
|
{
|
var form = new SubAccountLevelUpSuccessForm();
|
this.AddForm(form, memberInfo);
|
}
|
});
|
}
|
|
#endregion
|
|
#region ■ 删除子账号_________________________
|
|
/// <summary>
|
/// 删除子账号
|
/// </summary>
|
public async void DeleteSubAccount()
|
{
|
//开启进度条
|
this.ShowProgressBar();
|
|
var pra = new DeleteSubAccountPra();
|
pra.SubAccount = memberInfo.SubAccountDistributedMark;
|
|
bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/DeletedSubAccount", pra);
|
//关闭进度条
|
this.CloseProgressBar();
|
|
if (result == false)
|
{
|
return;
|
}
|
|
Application.RunOnMainThread(() =>
|
{
|
//从成员一览画面移除
|
this.LoadFormMethodByName("MemberListForm", "DeleteRowByAccount", memberInfo.Account);
|
//自身关闭
|
this.CloseForm();
|
});
|
}
|
|
#endregion
|
|
#region ■ 结构体_____________________________
|
|
/// <summary>
|
/// 升级或者降级子账号的启动参数
|
/// </summary>
|
private class UpOrDownLevelPra : IfacePraCommon
|
{
|
/// <summary>
|
/// 通过《住宅的Guid查询住宅下面的子账号》接口时,返回的DistributedMark字段
|
/// </summary>
|
public string DistributedMark = string.Empty;
|
}
|
|
/// <summary>
|
/// 删除子账号的启动参数
|
/// </summary>
|
private class DeleteSubAccountPra : IfacePraCommon
|
{
|
/// <summary>
|
/// 通过《住宅的Guid查询住宅下面的子账号》接口时,返回的DistributedMark字段
|
/// </summary>
|
public string SubAccount = string.Empty;
|
/// <summary>
|
/// HouseDistributedMark
|
/// </summary>
|
public string HouseDistributedMark = Common.Config.Instance.HomeId;
|
}
|
#endregion
|
}
|
}
|