HDL Home App 第二版本 旧平台金堂用 正在使用
hxb
2022-08-30 25429f085093d89d543a0b90e30d0d62d1b7dac9
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
@@ -1,10 +1,12 @@
using System;
using System.Linq.Expressions;
using Newtonsoft.Json.Linq;
using Shared.Common;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DoorLock
{
    public class TemporaryPassword : DoorLockCommonLayout, ZigBee.Common.IStatus
    public class TemporaryPassword : DoorLockCommonLayout
    {
        /// <summary>
        /// 构造函数
@@ -14,240 +16,293 @@
        {
            this.doorLock = doorLock;
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
            ZigBee.Device.ZbGateway.StatusList.Add(this);
        }
        #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;
        /// <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) =>
            {
                if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
                {
                    doorLock.Gateway.GwResDataAction -= action;
                }
                RemoveFromParent();
            };
            this.btnBack.MouseUpEventHandler += eHandlerBack;
            this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
            this.MidFrameLayout(this);
            #region btnDelFrameLayout
            var btnDelFrameLayout = new FrameLayout
            {
                X = Application.GetRealWidth(953 - 116),
                Height = Application.GetRealHeight(69),
                Width = Application.GetRealWidth(1080 - 953),
            };
            this.titleFrameLayout.AddChidren(btnDelFrameLayout);
            var btnDelIcon = new Button
            {
                Height = Application.GetRealHeight(69),
                Width = Application.GetRealWidth(69),
                UnSelectedImagePath = "DoorLock/DelIcon.png",
            };
            btnDelFrameLayout.AddChidren(btnDelIcon);
            EventHandler<MouseEventArgs> eHandler = (sender, e) =>
            {
                ClearDialog();
            };
            btnDelFrameLayout.MouseDownEventHandler += eHandler;
            btnDelIcon.MouseDownEventHandler += eHandler;
            #endregion
            MidTopFrameLayout = new FrameLayout()
            {
                X = Application.GetMinRealAverage(181),
                Y = Application.GetMinRealAverage(92),
                Width = Application.GetRealWidth(717),
                Height = Application.GetRealHeight(570),
                BackgroundImagePath = "DoorLock/TempPasswordBackground.png",
            };
            this.midFrameLayout.AddChidren(MidTopFrameLayout);
            MidFrameLayoutContent();
        }
        /// <summary>
        /// 读门锁临时密码信息
        /// 中部布局
        /// </summary>
        /// <param name="door_lock">Door lock.</param>
        void readStatus()
        {
            System.Threading.Tasks.Task.Run(() =>
            {
            });
        }
        public void MidFrameLayoutContent()
        {
            var MidTopFrameLayout = new FrameLayout()
            MidTopFrameLayout.RemoveAll();
            var TempPasswordBackground1 = new Button()
            {
                X = Application.GetRealWidth(196),
                Y = Application.GetRealHeight(276),
                Width = Application.GetRealWidth(668),
                Height = Application.GetRealHeight(527),
                BackgroundColor = ZigbeeColor.Current.XMWhite,
                Height = Application.GetRealHeight(43),
                Width = Application.GetRealWidth(259),
                X = Application.GetRealWidth(227),
                Y = Application.GetRealHeight(418),
                UnSelectedImagePath = "DoorLock/TempPasswordBackground1.png",
            };
            this.midFrameLayout.AddChidren(MidTopFrameLayout);
            MidTopFrameLayout.AddChidren(TempPasswordBackground1);
            var topMidTopFrameLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(313),
            };
            MidTopFrameLayout.AddChidren(topMidTopFrameLayout);
            var topPic = new Button()
            {
                Height = Application.GetRealHeight(184),
                Width = Application.GetRealWidth(184),
                X = Application.GetRealWidth(449),
                Y = Application.GetRealHeight(58),
                Height = Application.GetRealHeight(81),
                Y = Application.GetRealHeight(48),
                TextAlignment = TextAlignment.Center,
                Text = Language.StringByID(R.MyInternationalizationString.RandomPasword),
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray1,
                Text = Language.StringByID(R.MyInternationalizationString.ClickGenerate),
                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                TextSize = 12,
                Visible = true,
                Enable = true,
            };
            this.midFrameLayout.AddChidren(topPic);
            topMidTopFrameLayout.AddChidren(topPic);
            var randomPassword = new EditText()
            {
                Y = Application.GetRealHeight(153),
                Height = Application.GetRealHeight(84),
                TextAlignment = TextAlignment.Center,
                TextColor = Shared.Common.ZigbeeColor.Current.XMOrange,
                TextSize = 24,
                Text = GetTempPassword(),
                SecureTextEntry = false,
                Enable = false,
            };
            MidTopFrameLayout.AddChidren(randomPassword);
            topMidTopFrameLayout.AddChidren(randomPassword);
            var temPasswordVisiable = new Button()
            {
                Height = Application.GetRealHeight(92),
                Width = Application.GetRealWidth(92),
                X = Application.GetRealWidth(495),
                Y = Application.GetRealHeight(153),
                UnSelectedImagePath = "DoorLock/TemPasswordInvisiable.png",
                SelectedImagePath = "DoorLock/TemPasswordVisiable.png",
            };
            topMidTopFrameLayout.AddChidren(temPasswordVisiable);
            var validTime = new Button()
            {
                Height = Application.GetRealHeight(55),
                Width = Application.GetRealWidth(115),
                X = Application.GetRealWidth(78),
                Width = Application.GetRealWidth(207),
                Y = Application.GetRealHeight(386),
                Text = "12:00",
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = 12,
                TextAlignment = TextAlignment.CenterRight,
                TextSize = 16,
                Text = "--:--",
            };
            MidTopFrameLayout.AddChidren(validTime);
            var validTimeDate = new Button()
            {
                Height = Application.GetRealHeight(49),
                Width = Application.GetRealWidth(135),
                X = Application.GetRealWidth(69),
                Width = Application.GetRealWidth(208),
                Y = Application.GetRealHeight(441),
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                Text = "8" + Language.StringByID(R.MyInternationalizationString.Month) + "1" + Language.StringByID(R.MyInternationalizationString.Day),
                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(115),
                X = Application.GetRealWidth(492),
                Width = Application.GetRealWidth(717 - 507),
                X = Application.GetRealWidth(507),
                Y = Application.GetRealHeight(386),
                Text = "10:00",
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = 12,
                TextSize = 16,
                Text = "--:--",
            };
            MidTopFrameLayout.AddChidren(inValidTime);
            var inValidTimeDate = new Button()
            {
                Height = Application.GetRealHeight(49),
                Width = Application.GetRealWidth(135),
                X = Application.GetRealWidth(484),
                Width = Application.GetRealWidth(717 - 508),
                X = Application.GetRealWidth(508),
                Y = Application.GetRealHeight(441),
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                TextAlignment = TextAlignment.CenterLeft,
                Text = "8" + Language.StringByID(R.MyInternationalizationString.Month) + "2" + Language.StringByID(R.MyInternationalizationString.Day),
                TextSize = 12,
            };
            MidTopFrameLayout.AddChidren(inValidTimeDate);
            //var inputCountText = new EditText()
            //{
            //    Width = Application.GetRealWidth(780),
            //    Height = Application.GetRealHeight(100),
            //    X = Application.GetRealWidth(80),
            //    Y = validCountText.Bottom + Application.GetRealHeight(10),
            //    PlaceholderText = doorLock.tempPasswordObj.times.ToString(),
            //    PlaceholderTextColor = 0xffc1c1c1,
            //    TextAlignment = TextAlignment.Center,
            //    //UnSelectedImagePah = "Register/Register_Kuang.png",
            //    BackgroundColor = 0xff00ff00,
            //};
            //this.midFrameLayout.AddChidren(inputCountText);
            //var unitCount = new Button()
            //{
            //    Height = Application.GetRealHeight(50),
            //    Width = Application.GetRealWidth(100),
            //    X = inputCountText.Right + Application.GetRealWidth(2),
            //    Y = Application.GetRealHeight(490),
            //    Text = Language.StringByID(R.MyInternationalizationString.Ci),
            //    TextAlignment = TextAlignment.CenterLeft,
            //    TextSize = 12,
            //    TextColor = 0xff000000,
            //};
            //this.midFrameLayout.AddChidren(unitCount);
            //var remindPic2 = new Button()
            //{
            //    Height = Application.GetRealHeight(40),
            //    Width = Application.GetRealWidth(40),
            //    X = Application.GetRealWidth(80),
            //    Y = inputCountText.Bottom + Application.GetRealHeight(18),
            //    //UnSelectedImagePath = "DoorLockPic/door_lock_alert.png",
            //    BackgroundColor = 0xff0000ff,
            //};
            //this.midFrameLayout.AddChidren(remindPic2);
            //var maxValidCount = new Button()
            //{
            //    Width = Application.GetRealWidth(550),
            //    Height = Application.GetRealHeight(80),
            //    X = remindPic2.Right + Application.GetRealWidth(8),
            //    Y = inputCountText.Bottom,
            //    Text = Language.StringByID(R.MyInternationalizationString.MaxValicCount),
            //    TextAlignment = TextAlignment.CenterLeft,
            //    TextSize = 10,
            //    TextColor = 0xff000000,
            //};
            //this.midFrameLayout.AddChidren(maxValidCount);
            //var remindFrameLayout = new FrameLayout()
            //{
            //    Height = Application.GetRealHeight(350),
            //    Y = remindPic2.Bottom + Application.GetRealHeight(90),
            //    BackgroundColor = 0xff00ffff,
            //};
            //this.midFrameLayout.AddChidren(remindFrameLayout);
            //var TempPasswordText = new Button()
            //{
            //    X = Application.GetRealWidth(80),
            //    Y = Application.GetRealHeight(10),
            //    Width = Application.GetRealWidth(300),
            //    Height = Application.GetRealHeight(80),
            //    TextAlignment = TextAlignment.CenterLeft,
            //    Text = Language.StringByID(R.MyInternationalizationString.DynamicTempPassword),
            //    TextColor = 0xffff0000,
            //};
            //remindFrameLayout.AddChidren(TempPasswordText);
            //for (int i = 0; i < 6; i++)
            //{
            //    passwordText = new Button()
            //    {
            //        Height = Application.GetRealHeight(150),
            //        Width = Application.GetRealWidth(80),
            //        TextAlignment = TextAlignment.Center,
            //        Y = TempPasswordText.Bottom + Application.GetRealHeight(10),
            //        TextSize = 28,
            //        BackgroundColor = 0xff0000ff,
            //    };
            //    remindFrameLayout.AddChidren(passwordText);
            //    if (i == 0)
            //    {
            //        passwordText.X = Application.GetRealWidth(90);
            //    }
            //    else
            //    {
            //        passwordText.X = (i + 1) * Application.GetRealWidth(90) + (i + 1) * Application.GetRealWidth(10);
            //    }
            //    if (i == 1 || i == 3 || i == 5)
            //    {
            //        passwordText.BackgroundColor = 0xff00ff00;
            //    }
            //    pawButtonList.Add(passwordText);
            //}
            BottomFrameLayoutContent();
        }
            #region 数据处理
            TimeDisplay(validTime, validTimeDate, inValidTime, inValidTimeDate, false);
            if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
            {
                randomPassword.Text = "- - - - - -";
                temPasswordVisiable.Visible = false;
                randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
                topPic.Visible = true;
                topPic.Enable = true;
            }
            else
            {
                randomPassword.Text = doorLock.LocalTempPassword;
                temPasswordVisiable.Visible = true;
                if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable)
                {
                    randomPassword.SecureTextEntry = false;
                    temPasswordVisiable.IsSelected = true;
                    randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange;
                }
                else
                {
                    randomPassword.SecureTextEntry = true;
                    temPasswordVisiable.IsSelected = false;
                    randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4;
                }
            }
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify)
            {
                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                btnFinifh.Enable = true;
                topPic.Visible = true;
                topPic.Enable = true;
            }
            else
            {
                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
                btnFinifh.Enable = false;
                topPic.Visible = false;
                topPic.Enable = false;
            }
            temPasswordVisiable.MouseUpEventHandler += (sender, e) =>
      {
          temPasswordVisiable.IsSelected = !temPasswordVisiable.IsSelected;
          if (!temPasswordVisiable.IsSelected)
          {
              randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4;
              randomPassword.SecureTextEntry = true;
          }
          else
          {
              randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange;
              randomPassword.SecureTextEntry = false;
          }
          Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = !randomPassword.SecureTextEntry;
      };
            topPic.MouseUpEventHandler += (sender, e) =>
            {
                randomPassword.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetTempPassword();
                doorLock.LocalTempPassword = randomPassword.Text;
                TimeDisplay(validTime, validTimeDate, inValidTime, inValidTimeDate, true);
                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;//XMUnSelect
                btnFinifh.Enable = true;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
                randomPassword.SecureTextEntry = false;
                temPasswordVisiable.IsSelected = true;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = true;
                randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange;
            };
            #endregion
        }
        /// <summary>
        /// 底部布局处理
        /// </summary>
        public void BottomFrameLayoutContent()
        {
            var bottomFrameLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(1025),
                Y = Application.GetRealHeight(896),
                Y = Application.GetRealHeight(711),
                BackgroundColor = ZigbeeColor.Current.XMWhite,
            };
            this.midFrameLayout.AddChidren(bottomFrameLayout);
            bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            var informationEdit = new Button()
            {
@@ -257,37 +312,58 @@
                Text = Language.StringByID(R.MyInternationalizationString.InformationEdit),
                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = 12,
                TextSize = 15,
            };
            bottomFrameLayout.AddChidren(informationEdit);
            for (int i = 0; i < 3; i++)
            for (int i = 0; i < 2; i++)
            {
                var btnValidTime = new Button()
                {
                    Width = Application.GetRealWidth(743),
                    Width = Application.GetRealWidth(453),
                    Height = Application.GetRealHeight(58),
                    X = Application.GetRealWidth(58),
                    Text = Language.StringByID(R.MyInternationalizationString.ValidTime),
                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                    TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = 12,
                    TextSize = 14,
                };
                bottomFrameLayout.AddChidren(btnValidTime);
                var btnModifyText = new Button()
                {
                    Width = Application.GetRealWidth(448),
                    Height = Application.GetRealHeight(58),
                    X = btnValidTime.Right,
                    Text = Language.StringByID(R.MyInternationalizationString.Modify),
                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                    TextAlignment = TextAlignment.CenterRight,
                    TextSize = 14,
                };
                bottomFrameLayout.AddChidren(btnModifyText);
                var btnNextFrameLayout = new FrameLayout()
                {
                    Width = Application.GetRealWidth(58 * 2),
                    Height = Application.GetRealHeight(58),
                    X = Application.GetRealWidth(956),
                    Y = Application.GetRealHeight(204),
                };
                bottomFrameLayout.AddChidren(btnNextFrameLayout);
                var btnNext = new Button()
                {
                    Width = Application.GetRealWidth(58),
                    Height = Application.GetRealHeight(58),
                    X = Application.GetRealWidth(956),
                    Y = Application.GetRealHeight(204),
                    BackgroundColor = ZigbeeColor.Current.XMOrange,
                    UnSelectedImagePath = "Item/RightNext.png",
                    SelectedImagePath = "Item/Down.png",
                };
                bottomFrameLayout.AddChidren(btnNext);
                btnNextFrameLayout.AddChidren(btnNext);
                var btnLine = new FrameLayout()
                {
                    Width = Application.GetRealWidth(965),
                    Height = Application.GetRealHeight(5),
                    Height = 1,
                    X = Application.GetRealWidth(58),
                    BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
                };
@@ -297,117 +373,669 @@
                {
                    btnValidTime.Y = Application.GetRealHeight(204);
                    btnValidTime.Text = Language.StringByID(R.MyInternationalizationString.ValidTime);
                    btnNext.Y = btnValidTime.Y;
                    btnModifyText.Y = btnNextFrameLayout.Y = btnValidTime.Y;
                    btnLine.Y = Application.GetRealHeight(308);
                    btnNext.MouseDownEventHandler += (sender, e) =>
                      {
                          var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "ValidTime");
                          Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
                          Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                          tempPage.Show();
                      };
                }
                else if (i == 1)
                {
                    btnValidTime.Y = Application.GetRealHeight(343);
                    btnValidTime.Text = Language.StringByID(R.MyInternationalizationString.InValidTime);
                    btnNext.Y = btnValidTime.Y;
                    btnModifyText.Y = btnNextFrameLayout.Y = btnValidTime.Y;
                    btnLine.Y = Application.GetRealHeight(446);
                    btnNext.MouseDownEventHandler += (sender, e) =>
                    {
                        var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "InValidTime");
                        Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                        tempPage.Show();
                    };
                }
                else if (i == 2)
                int curIndex = i;
                EventHandler<MouseEventArgs> hander = (sender, e) =>
                {
                    btnValidTime.Y = Application.GetRealHeight(481);
                    btnValidTime.Text = Language.StringByID(R.MyInternationalizationString.ClearTempPassword);
                    btnNext.Y = btnValidTime.Y;
                    btnLine.Y = Application.GetRealHeight(1025 - 449);
                }
                    if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify)
                    {
                        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;
                            tempPage.Show();
                            tempPage.timeSetAction += () =>
                            {
                                MidFrameLayoutContent();
                            };
                        }
                        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;
                            tempPage.Show();
                            tempPage.timeSetAction += () =>
                            {
                                MidFrameLayoutContent();
                            };
                        }
                    }
                };
                btnValidTime.MouseDownEventHandler += hander;
                btnModifyText.MouseDownEventHandler += hander;
                btnNextFrameLayout.MouseDownEventHandler += hander;
                btnNext.MouseDownEventHandler += hander;
            }
            var modifyTempPasswordTip1 = new Button()
            {
                Height = Application.GetRealHeight(49),
                Y = Application.GetRealHeight(628),
                TextID = R.MyInternationalizationString.ModifyTempPasswordTip1,
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                TextSize = 12,
                TextAlignment = TextAlignment.Center,
            };
            bottomFrameLayout.AddChidren(modifyTempPasswordTip1);
            //var bottomLine = new Button()
            //{
            //    Height = Application.GetRealHeight(1),
            //    BackgroundColor = 0xff000000,
            //};
            //bottomFrameLayout.AddChidren(bottomLine);
            var modifyTempPasswordTip2 = new Button()
            {
                Height = Application.GetRealHeight(49),
                Y = modifyTempPasswordTip1.Bottom,
                Radius = (uint)Application.GetRealHeight(120) / 2,
                TextID = R.MyInternationalizationString.ModifyTempPasswordTip2,
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                TextSize = 12,
                TextAlignment = TextAlignment.Center,
            };
            bottomFrameLayout.AddChidren(modifyTempPasswordTip2);
            //var generateTempPassword = new Button()
            //{
            //    Y = bottomLine.Bottom,
            //    Height = Application.GetRealHeight(180),
            //    TextID = R.MyInternationalizationString.GenerateTemporaryPassword,
            //    TextSize = 15,
            //    BackgroundColor = 0xFF121212,
            //    SelectedBackgroundColor = 0xFFFC5806,
            //};
            //bottomFrameLayout.AddChidren(generateTempPassword);
            //string tempPaw = "";
            //generateTempPassword.MouseUpEventHandler += (sender, e) =>
            //{
            //    tempPaw = GetTempPassword();
            //    for (int i = 0; i < tempPaw.Length; i++)
            //    {
            //        for (int j = 0; j < pawButtonList.Count; j++)
            //        {
            //            if (i == j)
            //            {
            //                pawButtonList[j].Text = tempPaw[i].ToString();
            //            }
            //        }
            //    }
            //};
            btnFinifh = new Button()
            {
                Width = Application.GetRealWidth(907),
                Height = Application.GetRealHeight(127),
                X = Application.GetRealWidth(86),
                Y = Application.GetRealHeight(760),
                Radius = (uint)Application.GetRealHeight(120) / 2,
                TextID = R.MyInternationalizationString.Confrim,
                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect,
                TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
                TextSize = 16,
                IsBold = true,
                Enable = false,
            };
            bottomFrameLayout.AddChidren(btnFinifh);
            btnFinifh.MouseUpEventHandler += async (sender, e) =>
            {
                FinifhEventHandler(btnFinifh);
            };
        }
        /// <summary>
        /// 生成6位临时密码
        /// 确定事件处理
        /// </summary>
        /// <returns></returns>
        public string GetTempPassword()
        /// <param name="btnFinifh"></param>
        void FinifhEventHandler(Button btnFinifh)
        {
            string password = "";
            password = new Random().Next(100000, 999999).ToString();
            return password;
            System.Threading.Tasks.Task.Run(async () =>
            {
                Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                try
                {
                    if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
                    {
                        //请"点击生成"临时密码;
                        Application.RunOnMainThread(() =>
                        {
                            var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1);
                            this.ShowMassage(ShowMsgType.Tip, mess);
                        });
                        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 - 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];
                        var jObjectdata = JObject.Parse(data);
                        if (jObjectdata == null)
                        {
                            return;
                        }
                        if (topic == $"{gatewayID}/DoorLock/DoorLockProgrammingEventNotificationCommand")
                        {
                            var ProgrammingEventNotificationData = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockProgrammingEventNotificationCommand>(jObjectdata["Data"].ToString());
                            {
                                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))
                                {
                                    doorLock.localDoorLockUserList.Add(ProgrammingEventNotificationData.UserID, localDoorLockObj);
                                }
                                //临时密码数据存储处理
                                if (ProgrammingEventNotificationData.UserID > 245)
                                {
                                    var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject();
                                    tpObj.UserId = ProgrammingEventNotificationData.UserID;
                                    tpObj.TempPassword = doorLock.LocalTempPassword;
                                    tpObj.ValidTime = validDateTime;
                                    tpObj.InValidTime = inValidDateTime;
                                    doorLock.tempPasswordObject = tpObj;
                                }
                            }
                        }
                    };
                    if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
                    {
                        doorLock.Gateway.GwResDataAction += action;
                    }
                    //设置临时密码到门锁
                    var addOrModifyResult = await doorLock.TempPasswordAsync(doorLock.LocalTempPassword, validDateTime, inValidDateTime);
                    if (addOrModifyResult != null && addOrModifyResult.responseData != null)
                    {
                        if (addOrModifyResult.responseData.status == 0)
                        {
                            System.Threading.Thread.Sleep(1000);
                            if (doorLock.tempPasswordObject != null)
                            {
                                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);
                            }
                            else
                            {
                                Application.RunOnMainThread(() =>
                                {
                                    var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm);
                                    this.ShowMassage(ShowMsgType.Tip, mess);
                                });
                                return;
                            }
                        }
                        else
                        {
                            Application.RunOnMainThread(() =>
                            {
                                var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm);
                                this.ShowMassage(ShowMsgType.Tip, mess);
                            });
                            return;
                        }
                    }
                    else
                    {
                        Application.RunOnMainThread(() =>
                        {
                            var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
                            this.ShowMassage(ShowMsgType.Tip, mess);
                        });
                        return;
                    }
                }
                catch (Exception ex)
                {
                    var mess = ex.Message;
                }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        MidFrameLayoutContent();
                        CommonPage.Loading.Hide();
                    });
                }
            });
        }
        #region ◆ 接口实现__________________________
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// 清除UI
        /// </summary>
        /// <returns>The changed.</returns>
        /// <param name="common">Common.</param>
        public void Changed(CommonDevice common)
        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="common"></param>
        /// <param name="typeTag"></param>
        public void DeviceInfoChange(CommonDevice common, string typeTag)
        /// <param name="btnDelText"></param>
        async void ClearEventHandler(Button btnDelText = null)
        {
            if (btnDelText == null)
            {
                btnDelText = new Button();
            }
            Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
            try
            {
                if (doorLock.tempPasswordObject != null)
                {
                    var passData = doorLock.SetUserAccessData(doorLock.tempPasswordObject.UserId, ZigBee.Device.DoorLock.AccessType.DelCurrentUser);
                    var resultData = await doorLock.DefaultControlAsync(passData);
                    if (resultData != null && resultData.defaultControlResponseData != null)
                    {
                        if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2)
                        {
                            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
                        {
                            Application.RunOnMainThread(() =>
                            {
                                var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1);
                                this.ShowMassage(ShowMsgType.Tip, mess);
                            });
                        }
                    }
                    else
                    {
                        var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
                        this.ShowMassage(ShowMsgType.Tip, mess);
                    }
                }
            }
            catch { }
            finally
            {
                Application.RunOnMainThread(() =>
                {
                    MidFrameLayoutContent();
                    CommonPage.Loading.Hide();
                });
            }
        }
        /// <summary>
        /// Changeds the IL ogic status.
        /// 读取云端存储数据
        /// </summary>
        /// <param name="logic">Logic.</param>
        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
        void ReadTempPasswordData()
        {
            System.Threading.Tasks.Task.Run(async () =>
            {
                Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                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)
                    {
                        if (result.PageData.Count != 0)
                        {
                            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;
                                //解密密码
                                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 { }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        MidFrameLayoutContent();
                        CommonPage.Loading.Hide();
                    });
                }
            });
        }
        /// <summary>
        /// Changeds the IS cene status.
        /// 本地时间数据处理
        /// </summary>
        /// <param name="scene">Scene.</param>
        public void ChangedISceneStatus(Scene scene)
        /// <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)
            {
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = validTimeDateTime.Hour;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = validTimeDateTime.Minute;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = validTimeDateTime.Second;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = validTimeDateTime.Year;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = validTimeDateTime.Month;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = validTimeDateTime.Day;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = inValidTime.Hour;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = inValidTime.Minute;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = inValidTime.Second;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = inValidTime.Year;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = inValidTime.Month;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = inValidTime.Day;
            }
            if (isClearLocalTime)
            {
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = 100;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = 100;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = 0;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = 0;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = 0;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = 0;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = 100;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = 100;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = 0;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = 0;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = 0;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = 0;
            }
        }
        #endregion
        /// <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 = "";
            string minute = "";
            if (isDefaultTime)
            {
                var cur = DateTime.Now;
                DoorLockCommonInfo.ValidDateHour = cur.Hour;
                DoorLockCommonInfo.ValidDateMinute = cur.Minute;
                DoorLockCommonInfo.ValidDateSecond = cur.Second;
                DoorLockCommonInfo.InValidDateHour = cur.Hour;
                DoorLockCommonInfo.InValidDateMinute = cur.Minute;
                DoorLockCommonInfo.InValidDateSecond = cur.Second;
                DoorLockCommonInfo.ValidDateYear = cur.Year;
                DoorLockCommonInfo.ValidDateMonth = cur.Month;
                DoorLockCommonInfo.ValidDateDay = cur.Day;
                var curD = DoorLockCommonInfo.LastDayOfMonth(cur);
                if (DoorLockCommonInfo.ValidDateDay == curD.Day)
                {
                    if (DoorLockCommonInfo.ValidDateMonth == 12)
                    {
                        DoorLockCommonInfo.InValidDateYear = cur.Year + 1;
                        DoorLockCommonInfo.InValidDateMonth = 1;
                        DoorLockCommonInfo.InValidDateDay = 1;
                    }
                    else
                    {
                        DoorLockCommonInfo.InValidDateYear = cur.Year;
                        DoorLockCommonInfo.InValidDateMonth = cur.Month + 1;
                        DoorLockCommonInfo.InValidDateDay = 1;
                    }
                }
                else
                {
                    DoorLockCommonInfo.InValidDateYear = cur.Year;
                    DoorLockCommonInfo.InValidDateMonth = cur.Month;
                    DoorLockCommonInfo.InValidDateDay = cur.Day + 1;
                }
                //doorLock.ReSave();
            }
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10)
            {
                hour = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour;
            }
            else
            {
                hour = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour.ToString();
            }
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute < 10)
            {
                minute = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute;
            }
            else
            {
                minute = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute.ToString();
            }
            //有效时间
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100)
            {
                validTime.Text = "--:--";
            }
            else
            {
                validTime.Text = hour + ":" + minute;
            }
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour < 10)
            {
                hour = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour;
            }
            else
            {
                hour = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour.ToString();
            }
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute < 10)
            {
                minute = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute;
            }
            else
            {
                minute = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute.ToString();
            }
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100)
            {
                inValidTime.Text = "--:--";
            }
            else
            {
                inValidTime.Text = hour + ":" + minute;
            }
            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);
            }
        }
    }
}