From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs |  156 +++++++++++++++++++++++++++------------------------
 1 files changed, 82 insertions(+), 74 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs
index b6ddc9d..62070d8 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs
@@ -5,12 +5,12 @@
 
 namespace Shared.Phone.UserCenter.DoorLock
 {
-    public class AddUnLockMethodTip : DoorLockCommonLayout, ZigBee.Common.IStatus
+    public class AddUnLockMethodTip : DoorLockCommonLayout
     {
         /// 鏋勯�犲嚱鏁�
         /// </summary>
         /// <param name="doorLock"></param>
-        public AddUnLockMethodTip(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes accountObj, string entryType)
+        public AddUnLockMethodTip(ZigBee.Device.DoorLock doorLock, MemberInfoRes accountObj, string entryType)
         {
             this.doorLock = doorLock;
             this.curAccountObj = accountObj;
@@ -18,11 +18,23 @@
             BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
         }
 
-        #region 鈼� 鍙橀噺鐢虫槑__________________________
+        #region 鍙橀噺鐢虫槑
+        /// <summary>
+        /// 褰撳墠闂ㄩ攣
+        /// </summary>
         ZigBee.Device.DoorLock doorLock;
-        Shared.Phone.UserCenter.MemberInfoRes curAccountObj;
+        /// <summary>
+        /// 褰撳墠璐︽埛
+        /// </summary>
+        MemberInfoRes curAccountObj;
+        /// <summary>
+        /// 褰撳墠绫诲瀷
+        /// </summary>
         string currentType = string.Empty;
-        Action<string, string> action;//鎺ユ敹閫氱煡
+        /// <summary>
+        /// 鎺ユ敹閫氱煡
+        /// </summary>
+        Action<string, string> action;
 
         #endregion
 
@@ -40,7 +52,7 @@
             {
                 currentTitle = Language.StringByID(R.MyInternationalizationString.AddFingerprint);
             }
-            else
+            else if (currentType == "proximity")
             {
                 currentTitle = Language.StringByID(R.MyInternationalizationString.AddIcCard);
             }
@@ -48,11 +60,6 @@
 
             EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
             {
-                if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
-                {
-                    doorLock.Gateway.GwResDataAction -= action;
-                }
-
                 this.RemoveFromParent();
             };
             this.btnBack.MouseUpEventHandler += eHandlerBack;
@@ -62,6 +69,21 @@
             MidFrameLayoutContent();
         }
 
+        /// <summary>
+        /// 閲嶅啓绉婚櫎鏂规硶
+        /// </summary>
+        public override void RemoveFromParent()
+        {
+            if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
+            {
+                doorLock.Gateway.GwResDataAction -= action;
+            }
+            base.RemoveFromParent();
+        }
+
+        /// <summary>
+        /// 涓儴甯冨眬
+        /// </summary>
         public void MidFrameLayoutContent()
         {
             var topMidFrameLayout = new FrameLayout
@@ -77,9 +99,9 @@
             {
                 X = Application.GetRealWidth(446),
                 Y = Application.GetRealHeight(330),
-                Height = Application.GetRealHeight(81 / 2),
+                Height = Application.GetRealHeight(76 / 2),
                 Width = Application.GetRealWidth(407),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                 TextSize = 10,
                 TextAlignment = TextAlignment.CenterLeft,
             };
@@ -89,9 +111,9 @@
             {
                 X = Application.GetRealWidth(446),
                 Y = btnPicTip1.Bottom,
-                Height = Application.GetRealHeight(81 / 2),
+                Height = Application.GetRealHeight(76 / 2),
                 Width = Application.GetRealWidth(207),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                 TextSize = 10,
                 TextAlignment = TextAlignment.CenterLeft,
             };
@@ -101,9 +123,9 @@
             {
                 X = Application.GetRealWidth(294),
                 Y = Application.GetRealHeight(1089),
-                Height = Application.GetRealHeight(173 / 2),
+                Height = Application.GetRealHeight(100 / 2),
                 Width = Application.GetRealWidth(488),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                 Gravity = Gravity.CenterHorizontal,
                 TextSize = 14,
             };
@@ -112,10 +134,10 @@
             var btnPicTip4 = new Button
             {
                 X = Application.GetRealWidth(397),
-                Y = btnPicTip3.Bottom,
+                Y = btnPicTip3.Y + Application.GetRealHeight(50),
                 Width = Application.GetRealWidth(288),
-                Height = Application.GetRealHeight(173 / 2),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+                Height = Application.GetRealHeight(100 / 2),
+                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                 Gravity = Gravity.CenterHorizontal,
                 TextSize = 14,
             };
@@ -126,8 +148,8 @@
                 X = Application.GetRealWidth(202),
                 Y = Application.GetRealHeight(1388),
                 Height = Application.GetRealHeight(49),
-                Width = Application.GetRealWidth(674),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+                Width = Application.GetRealWidth(685),
+                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                 Gravity = Gravity.CenterHorizontal,
                 TextSize = 12,
             };
@@ -139,11 +161,12 @@
                 Y = Application.GetRealHeight(1472),
                 Height = Application.GetRealHeight(127),
                 Width = Application.GetRealWidth(907),
-                Text = Language.StringByID(R.MyInternationalizationString.NextStep),
+                Text = Language.StringByID(R.MyInternationalizationString.NextStepXm),
                 TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
                 Gravity = Gravity.CenterHorizontal,
-                Radius = 10,
-                TextSize = 20,
+                Radius = (uint)Application.GetRealHeight(127 / 2),
+                TextSize = 16,
+                IsBold = true,
                 Enable = false,
                 BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect,
             };
@@ -178,7 +201,7 @@
                 btnPicTip1.X = Application.GetRealWidth(450);
                 btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip);
             }
-            else
+            else if (currentType == "proximity")
             {
                 topMidFrameLayout.BackgroundImagePath = "DoorLock/AddIcCardTipPic.png";
                 btnPicTip3.Width = Application.GetRealWidth(495);
@@ -214,21 +237,41 @@
                     var ProgrammingEventNotificationData = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockProgrammingEventNotificationCommand>(jObjectdata["Data"].ToString());
                     if (ProgrammingEventNotificationData != null)
                     {
-                        doorLock.doorLockProgrammingEventNotificationCommand = ProgrammingEventNotificationData;
-                        var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
-                        localDoorLockObj.UserID = ProgrammingEventNotificationData.UserID;
-                        localDoorLockObj.UnlockType = ProgrammingEventNotificationData.ProgramEventSoure;
-                        var entryTime = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetLocalTime(ProgrammingEventNotificationData.ZigbeeLocalTime);
-                        localDoorLockObj.EntryTime = entryTime;
-                        if (!doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj.UserID))
+                        int curMethod = -1;
+                        if (currentType == "password")
                         {
-                            doorLock.localDoorLockUserList.Add(ProgrammingEventNotificationData.UserID, localDoorLockObj);
+                            curMethod = 0;
                         }
-                        Application.RunOnMainThread(() =>
+                        else if (currentType == "fingerprint")
                         {
-                            nextBtn.Enable = true;
-                            nextBtn.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
-                        });
+                            curMethod = 15;
+                        }
+                        else if (currentType == "proximity")
+                        {
+                            curMethod = 3;
+                        }
+                        else
+                        {
+                            return;
+                        }
+                        if (ProgrammingEventNotificationData.ProgramEventSoure == curMethod)
+                        {
+                            doorLock.doorLockProgrammingEventNotificationCommand = ProgrammingEventNotificationData;
+                            var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
+                            localDoorLockObj.UserID = ProgrammingEventNotificationData.UserID;
+                            localDoorLockObj.UnlockType = ProgrammingEventNotificationData.ProgramEventSoure;
+                            localDoorLockObj.EntryTime = System.DateTime.Now;
+                            //鍏堟殏鏃跺姞鍏ワ紝绛変簯绔坊鍔犲拰鑾峰彇鐪熸鎴愬姛鍚庢墠鐪熺殑鍔犲叆
+                            if (!doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj.UserID))
+                            {
+                                doorLock.localDoorLockUserList.Add(ProgrammingEventNotificationData.UserID, localDoorLockObj);
+                            }
+                            Application.RunOnMainThread(() =>
+                            {
+                                nextBtn.Enable = true;
+                                nextBtn.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                            });
+                        }
                     }
                 }
             };
@@ -240,47 +283,12 @@
 
             nextBtn.MouseDownEventHandler += (sende, e) =>
             {
+                this.RemoveFromParent();
                 var entryStatusPage = new Shared.Phone.UserCenter.DoorLock.EntryStatusPage(doorLock, curAccountObj, currentType);
                 Shared.Phone.UserView.HomePage.Instance.AddChidren(entryStatusPage);
                 Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                 entryStatusPage.Show();
-                this.RemoveFromParent();
             };
         }
-
-
-        #region 鈼� 鎺ュ彛瀹炵幇__________________________
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
-        /// </summary>
-        /// <returns>The changed.</returns>
-        /// <param name="common">Common.</param>
-        public void Changed(CommonDevice common)
-        {
-
-        }
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢
-        /// </summary>
-        /// <param name="common"></param>
-        /// <param name="typeTag"></param>
-        public void DeviceInfoChange(CommonDevice common, string typeTag)
-        {
-        }
-        /// <summary>
-        /// Changeds the IL ogic status.
-        /// </summary>
-        /// <param name="logic">Logic.</param>
-        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
-        {
-        }
-        /// <summary>
-        /// Changeds the IS cene status.
-        /// </summary>
-        /// <param name="scene">Scene.</param>
-        public void ChangedISceneStatus(Scene scene)
-        {
-        }
-        #endregion
     }
 }

--
Gitblit v1.8.0