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