From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs |  562 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 347 insertions(+), 215 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
old mode 100644
new mode 100755
index 98eba8b..071fe66
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
@@ -6,7 +6,7 @@
 
 namespace Shared.Phone.UserCenter.DoorLock
 {
-    public class TemporaryPassword : DoorLockCommonLayout, ZigBee.Common.IStatus
+    public class TemporaryPassword : DoorLockCommonLayout
     {
         /// <summary>
         /// 鏋勯�犲嚱鏁�
@@ -16,26 +16,49 @@
         {
             this.doorLock = doorLock;
             BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
-            ZigBee.Device.ZbGateway.StatusList.Add(this);
-            ReadTempPasswordData();
         }
 
-        #region 鈼� 鍙橀噺鐢虫槑__________________________
+        #region  鍙橀噺鐢虫槑
+        /// <summary>
+        /// 褰撳墠闂ㄩ攣
+        /// </summary>
         ZigBee.Device.DoorLock doorLock;
-        public System.Collections.Generic.List<Button> pawButtonList = new System.Collections.Generic.List<Button> { };//涓存椂瀵嗙爜涓殑6浣嶆暟瀛�
-        Button passwordText; //涓存椂瀵嗙爜
+        /// <summary>
+        /// 涓存椂瀵嗙爜涓殑6浣嶆暟瀛�
+        /// </summary>
+        public System.Collections.Generic.List<Button> pawButtonList = new System.Collections.Generic.List<Button> { };
+        /// <summary>
+        /// 涓存椂瀵嗙爜
+        /// </summary>
+        Button passwordText;
+        /// <summary>
+        /// 涓儴甯冪殑椤堕儴甯冨眬
+        /// </summary>
         FrameLayout MidTopFrameLayout;
-        Action<string, string> action;//鎺ユ敹閫氱煡
+        /// <summary>
+        /// 鎺ユ敹閫氱煡
+        /// </summary>
+        Action<string, string> action;
+        /// <summary>
+        /// 淇濆瓨瀹屾垚鎸夐挳
+        /// </summary>
         Button btnFinifh;
+        /// <summary>
+        /// 褰撳墠鏈夋晥鏃ユ湡鏃堕棿
+        /// </summary>
         DateTime cunVDateTime;
+        /// <summary>
+        /// 褰撳墠澶辨晥鏃ユ湡鏃堕棿
+        /// </summary>
         DateTime cunIVDateTime;
         #endregion
 
-        /// <summary>
-        /// UI鏄剧ず
+        /// <summary>
+        /// UI鏄剧ず
         /// </summary>
         public void Show()
         {
+            ReadTempPasswordData();
             this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.TemporaryPassword));
 
             EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
@@ -52,7 +75,7 @@
             #region btnDelFrameLayout
             var btnDelFrameLayout = new FrameLayout
             {
-                X = Application.GetRealWidth(953),
+                X = Application.GetRealWidth(953 - 116),
                 Height = Application.GetRealHeight(69),
                 Width = Application.GetRealWidth(1080 - 953),
             };
@@ -68,56 +91,7 @@
 
             EventHandler<MouseEventArgs> eHandler = (sender, e) =>
             {
-                var dialog = new Dialog { };
-                dialog.Show();
-
-                var flMain = new FrameLayout { BackgroundColor = 0x00000000 };
-                dialog.AddChidren(flMain);
-                flMain.MouseUpEventHandler += (sender11, e11) =>
-                {
-                    dialog.Close();
-                };
-
-                var delBackgroundFrameLayout = new FrameLayout
-                {
-                    X = Application.GetRealWidth(596),
-                    Y = Application.GetRealHeight(164),
-                    Height = Application.GetRealHeight(173),
-                    Width = Application.GetRealWidth(449),
-                    BackgroundImagePath = "DoorLock/DelBackground.png",
-                };
-                flMain.AddChidren(delBackgroundFrameLayout);
-
-                var btnDelIcon2 = new Button
-                {
-                    Height = Application.GetRealHeight(81),
-                    Width = Application.GetRealWidth(81),
-                    X = Application.GetRealWidth(81),
-                    Y = Application.GetRealHeight(55),
-                    UnSelectedImagePath = "DoorLock/DelIcon.png",
-                };
-                delBackgroundFrameLayout.AddChidren(btnDelIcon2);
-
-                var btnDelText = new Button
-                {
-                    Height = Application.GetRealHeight(58),
-                    Width = Application.GetRealWidth(311),
-                    X = Application.GetRealWidth(173),
-                    Y = Application.GetRealHeight(69),
-                    TextAlignment = TextAlignment.CenterLeft,
-                    Text = Language.StringByID(R.MyInternationalizationString.ClearTempPassword),
-                    TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
-                    TextSize = 12,
-                };
-                delBackgroundFrameLayout.AddChidren(btnDelText);
-
-                EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) =>
-                 {
-                     ClearEventHandler(btnDelText, dialog);
-                 };
-                delBackgroundFrameLayout.MouseDownEventHandler += eHandler2;
-                btnDelIcon2.MouseDownEventHandler += eHandler2;
-                btnDelText.MouseDownEventHandler += eHandler2;
+                ClearDialog();
             };
             btnDelFrameLayout.MouseDownEventHandler += eHandler;
             btnDelIcon.MouseDownEventHandler += eHandler;
@@ -134,6 +108,9 @@
             MidFrameLayoutContent();
         }
 
+        /// <summary>
+        /// 涓儴甯冨眬
+        /// </summary>
         public void MidFrameLayoutContent()
         {
             MidTopFrameLayout.RemoveAll();
@@ -159,7 +136,7 @@
                 Y = Application.GetRealHeight(48),
                 TextAlignment = TextAlignment.Center,
                 Text = Language.StringByID(R.MyInternationalizationString.ClickGenerate),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
+                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                 TextSize = 12,
                 Visible = true,
                 Enable = true,
@@ -168,11 +145,9 @@
 
             var randomPassword = new EditText()
             {
-                X = Application.GetRealWidth(233),
                 Y = Application.GetRealHeight(153),
                 Height = Application.GetRealHeight(84),
-                Width = Application.GetRealWidth(251),
-                TextAlignment = TextAlignment.CenterRight,
+                TextAlignment = TextAlignment.Center,
                 TextSize = 24,
                 SecureTextEntry = false,
                 Enable = false,
@@ -193,47 +168,48 @@
             var validTime = new Button()
             {
                 Height = Application.GetRealHeight(55),
-                Width = Application.GetRealWidth(115),
-                X = Application.GetRealWidth(92),
+                Width = Application.GetRealWidth(92 + 115),
                 Y = Application.GetRealHeight(386),
                 TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextSize = 14,
+                TextAlignment = TextAlignment.CenterRight,
+                TextSize = 16,
+                Text = "--:--",
             };
             MidTopFrameLayout.AddChidren(validTime);
 
             var validTimeDate = new Button()
             {
                 Height = Application.GetRealHeight(49),
-                Width = Application.GetRealWidth(135),
-                X = Application.GetRealWidth(84),
+                Width = Application.GetRealWidth(84 + 135),
                 Y = Application.GetRealHeight(441),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
-                TextSize = 10,
+                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+                TextSize = 12,
+                TextAlignment = TextAlignment.CenterRight,
             };
             MidTopFrameLayout.AddChidren(validTimeDate);
 
             var inValidTime = new Button()
             {
                 Height = Application.GetRealHeight(55),
-                Width = Application.GetRealWidth(118),
+                Width = Application.GetRealWidth(717 - 507),
                 X = Application.GetRealWidth(507),
                 Y = Application.GetRealHeight(389),
                 TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = 14,
+                TextSize = 16,
+                Text = "--:--",
             };
             MidTopFrameLayout.AddChidren(inValidTime);
 
             var inValidTimeDate = new Button()
             {
                 Height = Application.GetRealHeight(49),
-                Width = Application.GetRealWidth(135),
+                Width = Application.GetRealWidth(717 - 508),
                 X = Application.GetRealWidth(508),
                 Y = Application.GetRealHeight(444),
-                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
+                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = 10,
+                TextSize = 12,
             };
             MidTopFrameLayout.AddChidren(inValidTimeDate);
 
@@ -259,7 +235,6 @@
             {
                 randomPassword.Text = "- - - - - -";
                 temPasswordVisiable.Visible = false;
-                randomPassword.X = Application.GetRealWidth(215);
                 randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4;
                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
                 topPic.Visible = true;
@@ -269,8 +244,6 @@
             {
                 randomPassword.Text = doorLock.LocalTempPassword;
                 temPasswordVisiable.Visible = true;
-                // topPic.Visible = false;
-                // topPic.Enable = false;
                 if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable)
                 {
                     randomPassword.SecureTextEntry = false;
@@ -315,7 +288,9 @@
             };
             #endregion
         }
-        //搴曢儴鐣岄潰鍜屾暟鎹鐞�
+        /// <summary>
+        /// 搴曢儴甯冨眬澶勭悊
+        /// </summary>
         public void BottomFrameLayoutContent()
         {
             var bottomFrameLayout = new FrameLayout()
@@ -325,6 +300,7 @@
                 BackgroundColor = ZigbeeColor.Current.XMWhite,
             };
             this.midFrameLayout.AddChidren(bottomFrameLayout);
+            bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
 
             var informationEdit = new Button()
             {
@@ -377,7 +353,7 @@
                 {
                     Width = Application.GetRealWidth(58),
                     Height = Application.GetRealHeight(58),
-                    UnSelectedImagePath = "Item/Next.png",
+                    UnSelectedImagePath = "Item/RightNext.png",
                     SelectedImagePath = "Item/Down.png",
                 };
                 btnNextFrameLayout.AddChidren(btnNext);
@@ -385,7 +361,7 @@
                 var btnLine = new FrameLayout()
                 {
                     Width = Application.GetRealWidth(965),
-                    Height = Application.GetRealHeight(5),
+                    Height = 1,
                     X = Application.GetRealWidth(58),
                     BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
                 };
@@ -412,6 +388,17 @@
                     {
                         if (curIndex == 0)
                         {
+                            if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
+                            {
+                                //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
+                                Application.RunOnMainThread(() =>
+                                {
+                                    var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1);
+                                    ShowMassage(ShowMsgType.Tip, mess);
+
+                                });
+                                return;
+                            }
                             var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "ValidTime");
                             Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
                             Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
@@ -423,6 +410,16 @@
                         }
                         if (curIndex == 1)
                         {
+                            if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
+                            {
+                                //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
+                                Application.RunOnMainThread(() =>
+                                {
+                                    var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1);
+                                    this.ShowMassage(ShowMsgType.Tip, mess);
+                                });
+                                return;
+                            }
                             var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "InValidTime");
                             Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
                             Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
@@ -474,6 +471,7 @@
                 BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect,
                 TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
                 TextSize = 16,
+                IsBold = true,
                 Enable = false,
             };
             bottomFrameLayout.AddChidren(btnFinifh);
@@ -484,7 +482,10 @@
             };
         }
 
-        //纭畾浜嬩欢澶勭悊
+        /// <summary>
+        /// 纭畾浜嬩欢澶勭悊
+        /// </summary>
+        /// <param name="btnFinifh"></param>
         void FinifhEventHandler(Button btnFinifh)
         {
             System.Threading.Tasks.Task.Run(async () =>
@@ -492,53 +493,34 @@
                 Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                 try
                 {
-                    if (doorLock.LocalTempPassword == "")
+                    if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
                     {
                         //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛�
                         Application.RunOnMainThread(() =>
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                            var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1);
+                            this.ShowMassage(ShowMsgType.Tip, mess);
                         });
                         return;
                     }
-                    //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100)
-                    //{
-                    //    //璇疯缃敓鏁堟椂闂达紱
-                    //    Application.RunOnMainThread(() =>
-                    //    {
-                    //        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip2), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                    //    });
-                    //    return;
-                    //}
-                    //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0)
-                    //{
-                    //    //璇疯缃敓鏁堟棩鏈燂紱
-                    //    Application.RunOnMainThread(() =>
-                    //    {
-                    //        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip3), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                    //    });
-                    //    return;
-                    //}
-                    //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100)
-                    //{
-                    //    Application.RunOnMainThread(() =>
-                    //    {
-                    //        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip4), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                    //    });
-                    //    return;
-                    //}
-                    //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0)
-                    //{
-                    //    Application.RunOnMainThread(() =>
-                    //    {
-                    //        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip5), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
-                    //    });
-                    //    return;
-                    //}
 
                     var dNow = DateTime.Now;
-                    var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute, dNow.Second);
+                    var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute - 1, dNow.Second);
                     var inValidDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute, dNow.Second);
+                    if (DateTime.Compare(inValidDateTime, validDateTime) < 0)
+                    {
+                        //鏃犳晥鐨勬椂闂磋缃�
+                        Application.RunOnMainThread(() =>
+                        {
+                            var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip);
+                            this.ShowMassage(ShowMsgType.Tip, mess);
+                        });
+                        return;
+                    }
+
+                    var startTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(validDateTime);
+                    var endTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(inValidDateTime);
+
                     action = (topic, data) =>
                     {
                         var gatewayID = topic.Split('/')[0];
@@ -580,41 +562,70 @@
                     }
                     //璁剧疆涓存椂瀵嗙爜鍒伴棬閿�
                     var addOrModifyResult = await doorLock.TempPasswordAsync(doorLock.LocalTempPassword, validDateTime, inValidDateTime);
-                    if (addOrModifyResult != null && addOrModifyResult.responseData != null && addOrModifyResult.responseData.status == 0)
+                    if (addOrModifyResult != null && addOrModifyResult.responseData != null)
                     {
-                        System.Threading.Thread.Sleep(1000);
-                        if (doorLock.tempPasswordObject != null)
+                        if (addOrModifyResult.responseData.status == 0)
                         {
-                            var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData();
-                            addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword;
-                            if (doorLock.DeviceAddr != null)
+                            System.Threading.Thread.Sleep(1000);
+                            if (doorLock.tempPasswordObject != null)
                             {
-                                addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData();
+                                if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                                {
+                                    addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                    addDoorLockTempPasswordData.IsOtherAccountCtrl = true;
+                                }
+                                //瀵瑰瘑鐮佽繘琛屽姞瀵嗗鐞�
+                                string hdlKey = "hD1(La3o";
+                                var enPsw = UserCenterLogic.EncryptPassword(hdlKey, doorLock.tempPasswordObject.TempPassword);
+                                addDoorLockTempPasswordData.TempPwd = enPsw;
+                                if (doorLock.DeviceAddr != null)
+                                {
+                                    addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                                }
+                                addDoorLockTempPasswordData.ValidBeginTime = doorLock.tempPasswordObject.ValidTime;
+                                addDoorLockTempPasswordData.ValidEndTime = doorLock.tempPasswordObject.InValidTime;
+                                addDoorLockTempPasswordData.TempPwdId = doorLock.tempPasswordObject.UserId.ToString();
+                                //瀛樺埌浜�
+                                var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLockPwd", addDoorLockTempPasswordData);
+                                if (result1 == null)
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime);
+                                        this.ShowMassage(ShowMsgType.Tip, mess);
+                                    });
+                                    return;
+                                }
+                                if (result1.StateCode != "Success")
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm1);
+                                        this.ShowMassage(ShowMsgType.Tip, mess);
+                                    });
+                                    return;
+                                }
+                                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false;
+                                doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword;
+                                TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
                             }
-                            addDoorLockTempPasswordData.ValidBeginTime = doorLock.tempPasswordObject.ValidTime;
-                            addDoorLockTempPasswordData.ValidEndTime = doorLock.tempPasswordObject.InValidTime;
-                            addDoorLockTempPasswordData.TempPwdId = doorLock.tempPasswordObject.UserId.ToString();
-                            //瀛樺埌浜�
-                            var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLockPwd", addDoorLockTempPasswordData);
-                            if (result1 != null && result1.StateCode != "Success")
+                            else
                             {
                                 Application.RunOnMainThread(() =>
                                 {
-                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                                    var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm);
+                                    this.ShowMassage(ShowMsgType.Tip, mess);
                                 });
                                 return;
                             }
-                            //btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;//XMUnSelect  XMBlack
-                            //btnFinifh.Enable = false;
-                            Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false;
-                            doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword;
-                            TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
                         }
                         else
                         {
                             Application.RunOnMainThread(() =>
                             {
-                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                                var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm);
+                                this.ShowMassage(ShowMsgType.Tip, mess);
                             });
                             return;
                         }
@@ -623,7 +634,8 @@
                     {
                         Application.RunOnMainThread(() =>
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
+                            var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
+                            this.ShowMassage(ShowMsgType.Tip, mess);
                         });
                         return;
                     }
@@ -643,8 +655,77 @@
             });
         }
 
-        //娓呴櫎浜嬩欢澶勭悊
-        async void ClearEventHandler(Button btnDelText = null, Dialog dialog = null)
+        /// <summary>
+        /// 娓呴櫎UI
+        /// </summary>
+        void ClearDialog()
+        {
+            var dialog = new Dialog { };
+            dialog.Show();
+
+            var flMain = new FrameLayout { BackgroundColor = 0x00000000 };
+            dialog.AddChidren(flMain);
+            flMain.MouseUpEventHandler += (sender11, e11) =>
+            {
+                dialog.Close();
+            };
+
+            var delBackgroundFrameLayout = new FrameLayout
+            {
+                X = Application.GetRealWidth(596),
+                Y = Application.GetRealHeight(164),
+                Height = Application.GetRealHeight(173),
+                Width = Application.GetRealWidth(449),
+                BackgroundImagePath = "DoorLock/DelBackground.png",
+            };
+            flMain.AddChidren(delBackgroundFrameLayout);
+
+            var btnDelIcon2 = new Button
+            {
+                Height = Application.GetRealHeight(81),
+                Width = Application.GetRealWidth(81),
+                X = Application.GetRealWidth(81),
+                Y = Application.GetRealHeight(55),
+                UnSelectedImagePath = "DoorLock/DelIcon.png",
+            };
+            delBackgroundFrameLayout.AddChidren(btnDelIcon2);
+
+            var btnDelText = new Button
+            {
+                Height = Application.GetRealHeight(58),
+                Width = Application.GetRealWidth(311),
+                X = Application.GetRealWidth(173),
+                Y = Application.GetRealHeight(69),
+                TextAlignment = TextAlignment.CenterLeft,
+                Text = Language.StringByID(R.MyInternationalizationString.ClearTempPassword),
+                TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText,
+                TextSize = 14,
+                IsBold = true,
+            };
+            delBackgroundFrameLayout.AddChidren(btnDelText);
+
+            EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) =>
+            {
+                dialog.Close();
+                string msg = Language.StringByID(R.MyInternationalizationString.SureToDeleteTempPassword);
+                var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
+                alert.Show();
+                //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
+                alert.ConfirmClickEvent += () =>
+                {
+                    ClearEventHandler(btnDelText);
+                };
+            };
+            delBackgroundFrameLayout.MouseDownEventHandler += eHandler2;
+            btnDelIcon2.MouseDownEventHandler += eHandler2;
+            btnDelText.MouseDownEventHandler += eHandler2;
+        }
+
+        /// <summary>
+        /// 娓呴櫎浜嬩欢澶勭悊
+        /// </summary>
+        /// <param name="btnDelText"></param>
+        async void ClearEventHandler(Button btnDelText = null)
         {
             if (btnDelText == null)
             {
@@ -657,31 +738,62 @@
                 {
                     var passData = doorLock.SetUserAccessData(doorLock.tempPasswordObject.UserId, ZigBee.Device.DoorLock.AccessType.DelCurrentUser);
                     var resultData = await doorLock.DefaultControlAsync(passData);
-                    if (resultData != null && resultData.defaultControlResponseData != null && resultData.defaultControlResponseData.status == 0)
+                    if (resultData != null && resultData.defaultControlResponseData != null)
                     {
-                        var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData();
-                        if (doorLock.DeviceAddr != null)
+                        if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2)
                         {
-                            delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
-                        }
-                        var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData);
-                        if (result1 != null && result1 != null && result1.StateCode == "Success")
-                        {
-                            doorLock.tempPasswordObject = null;
-                            doorLock.LocalTempPassword = "";
-                            TimeDateData(DateTime.Now, DateTime.Now, true);
-                            Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false;
-                            Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
+                            var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData();
+                            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                            {
+                                delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                                delDoorLockTempPasswordData.IsOtherAccountCtrl = true;
+                            }
+                            if (doorLock.DeviceAddr != null)
+                            {
+                                delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
+                            }
+                            var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData);
+                            if (result1 != null)
+                            {
+                                if (result1.StateCode == "Success")
+                                {
+                                    doorLock.tempPasswordObject = null;
+                                    doorLock.LocalTempPassword = "";
+                                    TimeDateData(DateTime.Now, DateTime.Now, true);
+                                    Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false;
+                                    Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
+                                }
+                                else
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1);
+                                        this.ShowMassage(ShowMsgType.Tip, mess);
+                                    });
+                                }
+                            }
+                            else
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime);
+                                    this.ShowMassage(ShowMsgType.Tip, mess);
+                                });
+                            }
                         }
                         else
                         {
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
+                            Application.RunOnMainThread(() =>
+                            {
+                                var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1);
+                                this.ShowMassage(ShowMsgType.Tip, mess);
+                            });
                         }
                     }
                     else
                     {
-                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText);
-
+                        var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
+                        this.ShowMassage(ShowMsgType.Tip, mess);
                     }
                 }
             }
@@ -690,17 +802,16 @@
             {
                 Application.RunOnMainThread(() =>
                 {
-                    if (dialog != null)
-                    {
-                        dialog.Close();
-                    }
+
                     MidFrameLayoutContent();
                     CommonPage.Loading.Hide();
                 });
             }
         }
 
-        //璇诲彇浜戠瀛樺偍鏁版嵁
+        /// <summary>
+        /// 璇诲彇浜戠瀛樺偍鏁版嵁
+        /// </summary>
         void ReadTempPasswordData()
         {
             System.Threading.Tasks.Task.Run(async () =>
@@ -709,23 +820,47 @@
                 try
                 {
                     var getDoorLockTempPasswordData = new ZigBee.Device.DoorLock.GetDoorLockTempPasswordData();
+                    if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+                    {
+                        getDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+                        getDoorLockTempPasswordData.IsOtherAccountCtrl = true;
+                    }
                     if (doorLock.DeviceAddr != null)
                     {
                         getDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
                     }
                     var result = await ZigBee.Device.DoorLock.GetDoorLockTempPasswordFromServer("DoorLock/GetDoorLockPwdPagger", getDoorLockTempPasswordData);
-                    if (result != null && result.PageData != null)
+                    if (result != null)
                     {
-                        foreach (var curDoorLockTempPaw in result.PageData)
+                        if (result.PageData.Count != 0)
                         {
-                            var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject();
-                            tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId);
-                            tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime;
-                            tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime;
-                            doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd;
-                            doorLock.tempPasswordObject = tpObj;
-                            TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
+                            foreach (var curDoorLockTempPaw in result.PageData)
+                            {
+                                var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject();
+                                tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId);
+                                tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime;
+                                tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime;
+                                //瑙e瘑瀵嗙爜
+                                string hdlKey = "hD1(La3o";
+                                var desPsw = UserCenterLogic.DecryptPassword(hdlKey, curDoorLockTempPaw.TempPwd);
+                                doorLock.LocalTempPassword = tpObj.TempPassword = desPsw;
+                                doorLock.tempPasswordObject = tpObj;
+                                TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
+                            }
                         }
+                        else
+                        {
+                            doorLock.tempPasswordObject = null;
+                            doorLock.LocalTempPassword = "";
+                            TimeDateData(DateTime.Now, DateTime.Now, true);
+                            Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false;
+                            Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
+                        }
+                    }
+                    else
+                    {
+                        var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime);
+                        this.ShowMassage(ShowMsgType.Tip, mess);
                     }
                 }
                 catch { }
@@ -740,7 +875,12 @@
             });
         }
 
-        //鏈湴鏃堕棿鏁版嵁澶勭悊
+        /// <summary>
+        /// 鏈湴鏃堕棿鏁版嵁澶勭悊
+        /// </summary>
+        /// <param name="validTimeDateTime"></param>
+        /// <param name="inValidTime"></param>
+        /// <param name="isClearLocalTime"></param>
         void TimeDateData(DateTime validTimeDateTime, DateTime inValidTime, bool isClearLocalTime = false)
         {
             if (doorLock.tempPasswordObject != null)
@@ -775,7 +915,14 @@
             }
         }
 
-        //鏃堕棿鏄剧ず鏁版嵁澶勭悊
+        /// <summary>
+        /// 鏃堕棿鏄剧ず鏁版嵁澶勭悊
+        /// </summary>
+        /// <param name="validTime"></param>
+        /// <param name="validTimeDate"></param>
+        /// <param name="inValidTime"></param>
+        /// <param name="inValidTimeDate"></param>
+        /// <param name="isDefaultTime"></param>
         void TimeDisplay(Button validTime, Button validTimeDate, Button inValidTime, Button inValidTimeDate, bool isDefaultTime)
         {
             string hour = "";
@@ -789,12 +936,15 @@
                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = cur.Minute;
                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = cur.Second;
                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = cur.Second;
+
+                var InValidTime = cur.AddDays(1);
                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = cur.Year;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = cur.Year;
+                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = InValidTime.Year;
                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = cur.Month;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = cur.Month;
+                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = InValidTime.Month;
                 Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = cur.Day;
-                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = cur.Day + 1;
+                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = InValidTime.Day;
+                //doorLock.ReSave();
             }
             if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10)
             {
@@ -815,7 +965,7 @@
             //鏈夋晥鏃堕棿
             if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100)
             {
-                validTime.Text = "00:00";
+                validTime.Text = "--:--";
             }
             else
             {
@@ -841,48 +991,30 @@
 
             if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100)
             {
-                inValidTime.Text = "00:00";
+                inValidTime.Text = "--:--";
             }
             else
             {
                 inValidTime.Text = hour + ":" + minute;
             }
-            validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
-            inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
-        }
 
-        #region 鈼� 鎺ュ彛瀹炵幇__________________________
-        /// <summary>
-        /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange()
-        /// </summary>
-        /// <returns>The changed.</returns>
-        /// <param name="common">Common.</param>
-        public void Changed(CommonDevice common)
-        {
+            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0)
+            {
+                validTimeDate.Text = "-" + Language.StringByID(R.MyInternationalizationString.Month) + "-" + Language.StringByID(R.MyInternationalizationString.Day);
+            }
+            else
+            {
+                validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
+            }
 
+            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0)
+            {
+                inValidTimeDate.Text = "-" + Language.StringByID(R.MyInternationalizationString.Month) + "-" + Language.StringByID(R.MyInternationalizationString.Day);
+            }
+            else
+            {
+                inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
+            }
         }
-        /// <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