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 } }