using System;
|
using System.Collections.Generic;
|
|
namespace Shared.Phone.UserCenter.Member
|
{
|
/// <summary>
|
/// 需要添加成员的信息(确认)画面
|
/// </summary>
|
public class AddMemberInfoForm : UserCenterCommonForm
|
{
|
/// <summary>
|
/// 成员信息
|
/// </summary>
|
private AccountInfoResult memberResult = null;
|
/// <summary>
|
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
/// </summary>
|
/// <param name="i_infoResult">成员信息</param>
|
public void ShowForm(AccountInfoResult i_infoResult)
|
{
|
this.memberResult = i_infoResult;
|
|
//设置标题信息
|
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uMemberInformation));
|
|
//初始化中部控件
|
this.InitMiddleFrame();
|
}
|
|
|
/// <summary>
|
/// 初始化中部控件
|
/// </summary>
|
private void InitMiddleFrame()
|
{
|
//头像
|
var btnIcon = new ProfilePhotoControl();
|
btnIcon.UnSelectedImagePath = "Account/Admin.png";
|
btnIcon.Y = Application.GetRealHeight(300);
|
btnIcon.Gravity = Gravity.CenterHorizontal;
|
bodyFrameLayout.AddChidren(btnIcon);
|
|
//成员ID
|
var btnUserId = new ViewNormalControl(800, true);
|
btnUserId.Y = btnIcon.Bottom + Application.GetRealHeight(20);
|
btnUserId.Gravity = Gravity.CenterHorizontal;
|
btnUserId.Text = memberResult.Account;
|
btnUserId.TextAlignment = TextAlignment.Center;
|
bodyFrameLayout.AddChidren(btnUserId);
|
|
//昵称
|
var btnName = new ViewNormalControl(800, true);
|
btnName.Y = btnUserId.Bottom + Application.GetRealHeight(20);
|
btnName.Gravity = Gravity.CenterHorizontal;
|
btnName.Text = memberResult.UserName;
|
btnName.TextAlignment = TextAlignment.Center;
|
bodyFrameLayout.AddChidren(btnName);
|
if (string.IsNullOrEmpty(btnName.Text) == true)
|
{
|
//如果它本身就没名字的话,把他的ID作为昵称
|
btnName.Text = memberResult.Account;
|
}
|
|
//请确认账号是否正确,如正确请点击确认
|
var btnmsg = new MsgViewControl(800, true);
|
btnmsg.Gravity = Gravity.CenterHorizontal;
|
btnmsg.Y = Application.GetRealHeight(1200);
|
btnmsg.TextColor = UserCenterColor.Current.TextGrayColor;
|
btnmsg.TextID = R.MyInternationalizationString.uPleaseConfirmAccoutIsRightAndClick;
|
bodyFrameLayout.AddChidren(btnmsg);
|
|
//确认添加
|
var btnOk = new BottomClickButton();
|
btnOk.TextID = R.MyInternationalizationString.uConfirmAdd;
|
bodyFrameLayout.AddChidren(btnOk);
|
btnOk.MouseUpEventHandler += (sender, e) =>
|
{
|
//添加成员
|
this.DoAddMember();
|
};
|
}
|
|
/// <summary>
|
/// 添加成员
|
/// </summary>
|
private async void DoAddMember()
|
{
|
//开启进度条
|
this.ShowProgressBar();
|
|
var pra = new BindSubAccountPra();
|
pra.SubAccount = memberResult.Account;
|
|
bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/BindSubAccount", pra);
|
if (result == false)
|
{
|
//关闭进度条
|
this.CloseProgressBar();
|
return;
|
}
|
|
//获取这个成员的SubDistributedMark
|
var pra2 = new MemberListInfoPra();
|
string resultValue = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", pra2);
|
//关闭进度条
|
this.CloseProgressBar();
|
|
if (resultValue == null)
|
{
|
//出现未知错误,数据丢失
|
string msg = Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost);
|
this.ShowTip(msg);
|
return;
|
}
|
List<MemberInfoRes> listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MemberInfoRes>>(resultValue);
|
MemberInfoRes memberInfoRes = null;
|
foreach (var info in listInfo)
|
{
|
if (info.Account == memberResult.Account)
|
{
|
memberInfoRes = info;
|
break;
|
}
|
}
|
if (memberInfoRes == null)
|
{
|
//出现未知错误,数据丢失
|
string msg = Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost);
|
this.ShowTip(msg);
|
return;
|
}
|
|
Application.RunOnMainThread(() =>
|
{
|
this.CloseForm();
|
|
//关闭手动输入成员ID的画面
|
this.CloseFormByFormName("AddMemberByIdForm");
|
|
var form = new AddMemberSuccessForm();
|
this.AddForm(form, memberResult, memberInfoRes);
|
});
|
}
|
|
/// <summary>
|
/// 绑定成员ID到住宅的启动参数
|
/// </summary>
|
private class BindSubAccountPra : IfacePraCommon
|
{
|
/// <summary>
|
/// 子账号ID
|
/// </summary>
|
public string SubAccount = string.Empty;
|
/// <summary>
|
/// 住宅ID
|
/// </summary>
|
public string HouseDistributedMark = Common.Config.Instance.Home.Id;
|
}
|
}
|
}
|