From c1de48884fa145a16a0f8bcee93274dcfaa0ff82 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 07 五月 2020 10:40:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-2020xm --- ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs | 210 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 210 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs new file mode 100755 index 0000000..f013a0f --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Member/AddMemberInfoForm.cs @@ -0,0 +1,210 @@ +锘縰sing System; +using System.Collections.Generic; + +namespace Shared.Phone.UserCenter.Member +{ + /// <summary> + /// 闇�瑕佹坊鍔犳垚鍛樼殑淇℃伅(纭)鐢婚潰 + /// </summary> + public class AddMemberInfoForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鎴愬憳淇℃伅 + /// </summary> + private AccountInfoResult memberResult = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <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() + { + //娓呯┖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; + //濡傛灉瀹冩湰韬氨娌″悕瀛楃殑璇濓紝鎶婁粬鐨処D浣滀负鏄电О + 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) => + { + //娣诲姞鎴愬憳 + this.DoAddMember(); + }; + } + + #endregion + + #region 鈻� 娣诲姞鎴愬憳___________________________ + + /// <summary> + /// 娣诲姞鎴愬憳 + /// </summary> + private async void DoAddMember() + { + //寮�鍚繘搴︽潯 + this.ShowProgressBar(); + + var pra = new BindSubAccountPra(); + pra.SubAccount = memberResult.Account; + + bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/BindSubAccount", false, pra); + if (result == false) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + + //鑾峰彇杩欎釜鎴愬憳鐨凷ubDistributedMark + var pra2 = new MemberListInfoPra(); + string resultValue = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra2); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + + if (resultValue == null) + { + //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け + string msg = Language.StringByID(R.MyInternationalizationString.uUnKnownError); + this.ShowMassage(ShowMsgType.Tip, 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.uUnKnownError); + this.ShowMassage(ShowMsgType.Tip, msg); + return; + } + //娣诲姞缂撳瓨 + UserCenterResourse.ListMemberInfo.Add(memberInfoRes); + UserCenterLogic.SaveLocalMemberListInfo(); + + string iconPath = System.IO.Path.Combine(UserCenterResourse.AccountOption.UserPictruePath, memberInfoRes.DistributedMark + ".png"); + if (memberResult.HeadImage != null) + { + //鍐欏叆澶村儚鍐呭 + Shared.IO.FileUtils.WriteFileByBytes(iconPath, memberResult.HeadImage); + } + + //鎴愬憳娣诲姞鎴愬姛 + var form = new AddMemberSuccessForm(); + form.AddForm(memberInfoRes, memberInfoRes.DistributedMark); + form.FormCloseEvent += (() => + { + this.CloseForm(); + //鍏抽棴鎵嬪姩杈撳叆鎴愬憳ID鐨勭敾闈� + this.CloseFormByFormName("AddMemberByIdForm"); + //娣诲姞鎴愬憳 + this.LoadFormMethodByName("MemberListForm", "AddRowLayoutByOtherForm", memberInfoRes); + }); + } + + #endregion + + #region 鈻� 缁撴瀯浣揰____________________________ + + /// <summary> + /// 缁戝畾鎴愬憳ID鍒颁綇瀹呯殑鍚姩鍙傛暟 + /// </summary> + private class BindSubAccountPra : IfacePraCommon + { + /// <summary> + /// 瀛愯处鍙稩D + /// </summary> + public string SubAccount = string.Empty; + /// <summary> + /// 浣忓畢ID + /// </summary> + public string HouseDistributedMark = Common.Config.Instance.Home.Id; + } + #endregion + } +} -- Gitblit v1.8.0