using System;
using System.Collections.Generic;
namespace Shared.Phone.UserCenter.Member
{
///
/// 需要添加成员的信息(确认)画面
///
public class AddMemberInfoForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 成员信息
///
private AccountInfoResult memberResult = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 成员信息
public void ShowForm(AccountInfoResult i_infoResult)
{
this.memberResult = i_infoResult;
//设置标题信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uMemberInformation));
//初始化中部控件
this.InitMiddleFrame();
}
///
/// 初始化中部控件
///
private void InitMiddleFrame()
{
//清空bodyFrame
this.ClearBodyFrame();
//头像
var btnUserIcon = new ImageView();
btnUserIcon.Height = this.GetPictrueRealSize(207);
btnUserIcon.Width = this.GetPictrueRealSize(207);
btnUserIcon.Radius = (uint)this.GetPictrueRealSize(207) / 2;
if (memberResult.HeadImage != null)
{
btnUserIcon.ImageBytes = memberResult.HeadImage;
}
else
{
btnUserIcon.ImagePath = "Center/Admin.png";
}
btnUserIcon.Y = Application.GetRealHeight(219);
btnUserIcon.Gravity = Gravity.CenterHorizontal;
bodyFrameLayout.AddChidren(btnUserIcon);
//成员ID
var btnUserId = new NormalViewControl(800, 50, true);
btnUserId.IsBold = true;
btnUserId.Y = Application.GetRealHeight(472);
btnUserId.Gravity = Gravity.CenterHorizontal;
btnUserId.Text = memberResult.Account;
btnUserId.TextAlignment = TextAlignment.Center;
btnUserId.TextColor = UserCenterColor.Current.TextGrayColor1;
bodyFrameLayout.AddChidren(btnUserId);
//昵称
var btnName = new NormalViewControl(800, 55, true);
btnName.IsBold = true;
btnName.Y = Application.GetRealHeight(541);
btnName.Gravity = Gravity.CenterHorizontal;
btnName.TextAlignment = TextAlignment.Center;
btnName.TextSize = 16;
//如果它本身就没名字的话,把他的ID作为昵称
btnName.Text = string.IsNullOrEmpty(memberResult.UserName) == true ? memberResult.Account : memberResult.UserName;
bodyFrameLayout.AddChidren(btnName);
//请确认账号是否正确{0}如正确请点击确认
string strMsg = Language.StringByID(R.MyInternationalizationString.uPleaseConfirmAccoutIsRightAndClick);
if (strMsg.Contains("{0}") == true)
{
strMsg = string.Format(strMsg, "\r\n");
}
var btnmsg = new NormalViewControl(800, 100, true);
btnmsg.IsBold = true;
btnmsg.Y = Application.GetRealHeight(913);
btnmsg.TextSize = 12;
btnmsg.Text = strMsg;
btnmsg.IsMoreLines = true;
btnmsg.TextAlignment = TextAlignment.Center;
btnmsg.TextColor = UserCenterColor.Current.TextGrayColor2;
btnmsg.Gravity = Gravity.CenterHorizontal;
bodyFrameLayout.AddChidren(btnmsg);
//确认添加
var btnOk = new BottomClickButton(688);
btnOk.Y = Application.GetRealHeight(1045);
btnOk.TextID = R.MyInternationalizationString.uConfirmAdd;
bodyFrameLayout.AddChidren(btnOk);
btnOk.ButtonClickEvent += (sender, e) =>
{
//添加成员
HdlThreadLogic.Current.RunThread(() =>
{
this.DoAddMember();
});
};
}
#endregion
#region ■ 添加成员___________________________
///
/// 添加成员
///
private void DoAddMember()
{
//开启进度条
this.ShowProgressBar();
var pra = new BindSubAccountPra();
pra.SubAccount = memberResult.Account;
bool result = UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/BindSubAccount", false, pra);
if (result == false)
{
//关闭进度条
this.CloseProgressBar();
return;
}
//获取这个成员的SubDistributedMark
var pra2 = new MemberListInfoPra();
string resultValue = UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra2);
//关闭进度条
this.CloseProgressBar();
if (string.IsNullOrEmpty(resultValue) == true)
{
//出现未知错误,数据丢失
string msg = Language.StringByID(R.MyInternationalizationString.uUnKnownError);
this.ShowMassage(ShowMsgType.Tip, msg);
return;
}
List listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject>(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.uUnKnownError);
this.ShowMassage(ShowMsgType.Tip, msg);
return;
}
string iconPath = System.IO.Path.Combine(UserCenterResourse.AccountOption.UserPictruePath, memberInfoRes.DistributedMark + ".png");
if (memberResult.HeadImage != null)
{
//写入头像内容
Shared.IO.FileUtils.WriteFileByBytes(iconPath, memberResult.HeadImage);
}
HdlThreadLogic.Current.RunMain(() =>
{
//成员添加成功
var form = new AddMemberSuccessForm();
form.AddForm(memberInfoRes, memberInfoRes.DistributedMark);
form.FormCloseEvent += (() =>
{
this.CloseForm();
//关闭手动输入成员ID的画面
this.CloseFormByFormName("AddMemberByIdForm");
//添加成员
this.LoadFormMethodByName("MemberListForm", "AddRowLayoutByOtherForm", memberInfoRes);
});
});
}
#endregion
#region ■ 结构体_____________________________
///
/// 绑定成员ID到住宅的启动参数
///
private class BindSubAccountPra : IfacePraCommon
{
///
/// 子账号ID
///
public string SubAccount = string.Empty;
///
/// 住宅ID
///
public string HouseDistributedMark = Common.Config.Instance.Home.Id;
}
#endregion
}
}