From 404cdc88627f942df7944af04ee05b9d527752d6 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 30 九月 2019 13:22:40 +0800
Subject: [PATCH] 合并了徐梅的按键面板绑定

---
 ZigbeeApp/Shared/Phone/UserCenter/Safety/EdtiorUserPasswordForm.cs |  141 ++++++++++++++++++++++-------------------------
 1 files changed, 66 insertions(+), 75 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/EdtiorUserPasswordForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/EdtiorUserPasswordForm.cs
index ab2b07c..b1c7237 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/EdtiorUserPasswordForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/EdtiorUserPasswordForm.cs
@@ -7,36 +7,37 @@
     /// <summary>
     /// 淇敼鐢ㄦ埛瀵嗙爜鐨勭敾闈�
     /// </summary>
-    public class EdtiorUserPasswordForm : UserCenterCommonForm
+    public class EdtiorUserPasswordForm : EditorCommonForm
     {
-        /// <summary>
-        /// 淇℃伅鎻愮ず鎺т欢
-        /// </summary>
-        private ViewNormalControl txtMsg = null;
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
         /// <summary>
         /// 鐢ㄦ埛璐﹀彿
         /// </summary>
         private int pswNo = 0;
+        /// <summary>
+        /// 绗竴涓瘑鐮�
+        /// </summary>
+        private string firstPsw = string.Empty;
+        /// <summary>
+        /// 瀵嗙爜杈撳叆鎺т欢
+        /// </summary>
+        private PswNumberInputControl pswControl = null;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
 
         /// <summary>
         /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
         /// </summary>
         /// <param name="i_pswNo">鐢ㄦ埛璐﹀彿</param>
-        /// <param name="addModel">鏄惁鏄坊鍔犵敤鎴峰瘑鐮佹ā寮�</param>
-        public void ShowForm(int i_pswNo, bool addModel)
+        /// <param name="i_titleText">澶撮儴鏍囬淇℃伅</param>
+        public void ShowForm(int i_pswNo, string i_titleText)
         {
             this.pswNo = i_pswNo;
-
-            if (addModel == true)
-            {
-                //璁剧疆澶撮儴淇℃伅
-                base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddPassword));
-            }
-            else
-            {
-                //璁剧疆澶撮儴淇℃伅
-                base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uChangedPassword));
-            }
+            //璁剧疆澶撮儴淇℃伅
+            base.SetTitleText(i_titleText);
 
             //鍒濆鍖栦腑閮ㄤ俊鎭�
             this.InitMiddleFrame();
@@ -47,43 +48,43 @@
         /// </summary>
         private void InitMiddleFrame()
         {
-            //璇疯緭鍏ョ敤鎴峰瘑鐮�
-            var btnTitle = new TitleViewControl();
-            btnTitle.TextColor = UserCenterColor.Current.TextGrayColor;
-            btnTitle.Y = Application.GetRealHeight(40);
-            btnTitle.TextID = R.MyInternationalizationString.uPleaseInputUserPassword;
-            bodyFrameLayout.AddChidren(btnTitle);
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
 
-            //鏂板瘑鐮�
-            string placeholderText = Language.StringByID(R.MyInternationalizationString.uNewPassword);
-            var rowNewPsw = new RowPasswordControl();
-            rowNewPsw.Y = btnTitle.Bottom;
-            bodyFrameLayout.AddChidren(rowNewPsw);
-            rowNewPsw.Init(placeholderText);
+            //璇疯緭鍏ユ柊瀹夐槻瀵嗙爜
+            pswControl = new PswNumberInputControl(Language.StringByID(R.MyInternationalizationString.uPleaseInputNewSafetyPassword), 4);
+            bodyFrameLayout.AddChidren(pswControl);
+            pswControl.InitControl();
 
-            //纭鏂板瘑鐮�
-            placeholderText = Language.StringByID(R.MyInternationalizationString.uConfirmNewPassword);
-            var rowConfirmPsw = new RowPasswordControl();
-            rowConfirmPsw.Y = rowNewPsw.Bottom;
-            bodyFrameLayout.AddChidren(rowConfirmPsw);
-            rowConfirmPsw.Init(placeholderText);
-
-            //鎻愮ず淇℃伅
-            this.txtMsg = new ViewNormalControl(800, true);
-            txtMsg.X = ControlCommonResourse.XXLeft;
-            txtMsg.Y = rowConfirmPsw.Bottom + Application.GetRealHeight(5);
-            txtMsg.TextColor = UserCenterColor.Current.Red;
-            bodyFrameLayout.AddChidren(txtMsg);
-
-            //瀹屾垚
-            var btnfinish = new TopLayoutFinshView();
-            topFrameLayout.AddChidren(btnfinish);
-            btnfinish.MouseUpEventHandler += (sender, e) =>
+            pswControl.FinishInputEvent += (pssword) =>
             {
-                //鎵ц淇敼鐢ㄦ埛瀵嗙爜
-                this.ChangedAdminPassword(rowNewPsw.Text, rowConfirmPsw.Text);
+                if (firstPsw != string.Empty)
+                {
+                    //妫�娴嬪瘑鐮�
+                    string msg = this.CheckPassword(firstPsw, pssword);
+                    if (msg != string.Empty)
+                    {
+                        //璇烽噸澶嶈緭鍏ユ柊瀹夐槻瀵嗙爜
+                        pswControl.ResetControlInfo(Language.StringByID(R.MyInternationalizationString.uPleaseRepeatInputNewSafetyPassword));
+                        //璁剧疆閿欒淇℃伅
+                        pswControl.SetErrorMsg(msg);
+                        return;
+                    }
+                    //鎵ц淇敼鐢ㄦ埛瀵嗙爜
+                    this.ChangedAdminPassword(firstPsw, pssword);
+                }
+                else
+                {
+                    firstPsw = pssword;
+                    //璇烽噸澶嶈緭鍏ユ柊瀹夐槻瀵嗙爜
+                    pswControl.ResetControlInfo(Language.StringByID(R.MyInternationalizationString.uPleaseRepeatInputNewSafetyPassword));
+                }
             };
         }
+
+        #endregion
+
+        #region 鈻� 淇敼瀵嗙爜___________________________
 
         /// <summary>
         /// 鎵ц淇敼鐢ㄦ埛瀵嗙爜
@@ -92,34 +93,28 @@
         /// <param name="pswValue2">纭瀵嗙爜</param>
         private async void ChangedAdminPassword(string pswValue1, string pswValue2)
         {
-            //妫�娴嬪瘑鐮�
-            string msg = this.CheckPassword(pswValue1, pswValue2);
-            if (msg != string.Empty)
-            {
-                Application.RunOnMainThread(() =>
-                {
-                    txtMsg.Text = msg;
-                });
-                return;
-            }
             //鎵ц淇敼
-            bool result = await Common.LocalSafeguard.Current.ChangedUserPassword(this.pswNo, pswValue1);
+            bool result = await HdlSafeguardLogic.Current.ChangedUserPassword(this.pswNo, pswValue1);
             if (result == false)
             {
+                firstPsw = string.Empty;
+                //璇疯緭鍏ユ柊瀹夐槻瀵嗙爜
+                pswControl.ResetControlInfo(Language.StringByID(R.MyInternationalizationString.uPleaseInputNewSafetyPassword));
+
                 return;
             }
 
             //鐢ㄦ埛瀵嗙爜宸叉洿鏂�
-            string Refmsg = Language.StringByID(R.MyInternationalizationString.uUserPasswordRefreshMsg);
-            Application.RunOnMainThread(() =>
-            {
-                //鍒锋柊涓荤晫闈�
-                this.LoadFormMethodByName("UserPasswordMainForm", "InitMiddleFrame");
+            string msg = Language.StringByID(R.MyInternationalizationString.uUserPasswordRefreshMsg);
+            this.ShowMassage(ShowMsgType.Tip, msg);
 
-                var form = new PasswordRefreshMsgForm();
-                this.AddFromAndRemoveNowForm(form, Refmsg);
-            });
+            //鐣岄潰鐩存帴鍏抽棴(鏆傛椂)
+            this.CloseForm();
         }
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
 
         /// <summary>
         /// 瀵嗙爜妫�鏌ワ紝杩斿洖閿欒淇℃伅锛屾棤閿欒淇℃伅(绌哄瓧绗︿覆)鍒欒〃绀烘垚鍔�
@@ -139,17 +134,13 @@
                 //璇疯緭鍏ョ‘璁ゅ瘑鐮�
                 return Language.StringByID(R.MyInternationalizationString.PleaseInputConfirmPsw);
             }
-            if (pswValue1.Length < UserCenterResourse.PasswordLength)
-            {
-                //瀵嗙爜闀垮害涓嶄綆浜巤0}浣嶆暟
-                return string.Format(Language.StringByID(R.MyInternationalizationString.PswLengthMsg), UserCenterResourse.PasswordLength);
-            }
             if (pswValue1 != pswValue2)
             {
                 //涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�
-                return Language.StringByID(R.MyInternationalizationString.SecondPswNotEqual);
+                return Language.StringByID(R.MyInternationalizationString.SecondPswNotEqual1);
             }
             return string.Empty;
         }
+        #endregion
     }
 }

--
Gitblit v1.8.0