using System; using System.Collections.Generic; namespace Shared.Phone.UserCenter.Member { /// /// 需要添加成员的信息(确认)画面 /// public class AddMemberInfoForm : UserCenterCommonForm { /// /// 成员信息 /// private AccountInfoResult memberResult = null; /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 成员信息 public void ShowForm(AccountInfoResult i_infoResult) { this.memberResult = i_infoResult; //设置标题信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uMemberInformation)); //初始化中部控件 this.InitMiddleFrame(); } /// /// 初始化中部控件 /// 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(); }; } /// /// 添加成员 /// 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 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.uUnknownErrorAndDataLost); this.ShowTip(msg); return; } Application.RunOnMainThread(() => { this.CloseForm(); //关闭手动输入成员ID的画面 this.CloseFormByFormName("AddMemberByIdForm"); var form = new AddMemberSuccessForm(); this.AddForm(form, memberResult, memberInfoRes); }); } /// /// 绑定成员ID到住宅的启动参数 /// private class BindSubAccountPra : IfacePraCommon { /// /// 子账号ID /// public string SubAccount = string.Empty; /// /// 住宅ID /// public string HouseDistributedMark = Common.Config.Instance.Home.Id; } } }