HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-10-24 31497bb69602433d94c8a28ea01c3ee3c7cc8576
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
@@ -1,5 +1,6 @@
using System;
using Java.Sql;
using System.Linq.Expressions;
using Newtonsoft.Json.Linq;
using Shared.Common;
using ZigBee.Device;
@@ -16,6 +17,7 @@
            this.doorLock = doorLock;
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
            ZigBee.Device.ZbGateway.StatusList.Add(this);
            ReadTempPasswordData();
        }
        #region ◆ 变量申明__________________________
@@ -23,10 +25,14 @@
        public System.Collections.Generic.List<Button> pawButtonList = new System.Collections.Generic.List<Button> { };//临时密码中的6位数字
        Button passwordText; //临时密码
        FrameLayout MidTopFrameLayout;
        Action<string, string> action;//接收通知
        Button btnFinifh;
        DateTime cunVDateTime;
        DateTime cunIVDateTime;
        #endregion
        /// <summary>
        /// UI显示
        /// UI显示
        /// </summary>
        public void Show()
        {
@@ -34,12 +40,16 @@
            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),
@@ -102,17 +112,16 @@
                delBackgroundFrameLayout.AddChidren(btnDelText);
                EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) =>
                {
                    ZigBee.Device.DoorLock.LocalTempPassword = "";
                    dialog.Close();
                };
                 {
                     ClearEventHandler(btnDelText, dialog);
                 };
                delBackgroundFrameLayout.MouseDownEventHandler += eHandler2;
                btnDelIcon2.MouseDownEventHandler += eHandler2;
                btnDelText.MouseDownEventHandler += eHandler2;
            };
            btnDelFrameLayout.MouseDownEventHandler += eHandler;
            btnDelIcon.MouseDownEventHandler += eHandler;
            #endregion
            MidTopFrameLayout = new FrameLayout()
            {
                X = Application.GetRealWidth(181),
@@ -208,7 +217,6 @@
                Width = Application.GetRealWidth(118),
                X = Application.GetRealWidth(507),
                Y = Application.GetRealHeight(389),
                Text = "10:00",
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = 14,
@@ -230,96 +238,44 @@
            BottomFrameLayoutContent();
            #region 数据处理
            string hour = "";
            string minute = "";
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10)
            TimeDisplay(validTime, validTimeDate, inValidTime, inValidTimeDate, false);
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify)
            {
                hour = "0" + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour;
                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                btnFinifh.Enable = true;
            }
            else
            {
                hour = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour.ToString();
                btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
                btnFinifh.Enable = false;
            }
            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 = "00:00";
            }
            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.ValidDateMinute.ToString();
            }
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100)
            {
                inValidTime.Text = "00:00";
            }
            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);
            if (string.IsNullOrEmpty(ZigBee.Device.DoorLock.LocalTempPassword))
            if (string.IsNullOrEmpty(doorLock.LocalTempPassword))
            {
                randomPassword.Text = "- - - - - -";
                temPasswordVisiable.Visible = false;
                randomPassword.X = Application.GetRealWidth(215);
                randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true;
            }
            else
            {
                randomPassword.Text = ZigBee.Device.DoorLock.LocalTempPassword;
                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.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;
                }
            }
            topPic.MouseUpEventHandler += (sender, e) =>
            {
                randomPassword.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetTempPassword();
                ZigBee.Device.DoorLock.LocalTempPassword = randomPassword.Text;
                temPasswordVisiable.IsSelected = true;
                temPasswordVisiable.Visible = true;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = true;
                randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange;
            };
            temPasswordVisiable.MouseUpEventHandler += (sender, e) =>
            {
                temPasswordVisiable.IsSelected = !temPasswordVisiable.IsSelected;
@@ -338,40 +294,16 @@
            topPic.MouseUpEventHandler += (sender, e) =>
            {
                randomPassword.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetTempPassword();
                ZigBee.Device.DoorLock.LocalTempPassword = randomPassword.Text;
                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;
            };
            EventHandler<MouseEventArgs> handerValidTimeDateSet = (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();
                tempPage.timeSetAction += () =>
                {
                    MidFrameLayoutContent();
                };
            };
            validTimeDate.MouseUpEventHandler += handerValidTimeDateSet;
            validTime.MouseUpEventHandler += handerValidTimeDateSet;
            EventHandler<MouseEventArgs> handerInValidTimeSet = (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();
                tempPage.timeSetAction += () =>
                {
                    MidFrameLayoutContent();
                };
            };
            inValidTime.MouseUpEventHandler += handerInValidTimeSet;
            inValidTimeDate.MouseUpEventHandler += handerInValidTimeSet;
            #endregion
        }
        //底部界面和数据处理
@@ -467,27 +399,30 @@
                int curIndex = i;
                EventHandler<MouseEventArgs> hander = (sender, e) =>
                {
                    if (curIndex == 0)
                    if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify)
                    {
                        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 += () =>
                        if (curIndex == 0)
                        {
                            MidFrameLayoutContent();
                        };
                    }
                    if (curIndex == 1)
                    {
                        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 += () =>
                            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)
                        {
                            MidFrameLayoutContent();
                        };
                            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;
@@ -496,7 +431,7 @@
                btnNext.MouseDownEventHandler += hander;
            }
            var btnFinifh = new Button()
            btnFinifh = new Button()
            {
                Width = Application.GetRealWidth(907),
                Height = Application.GetRealHeight(127),
@@ -504,69 +439,380 @@
                Y = Application.GetRealHeight(760),
                Radius = (uint)Application.GetRealHeight(120) / 2,
                TextID = R.MyInternationalizationString.Confrim,
                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                //BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect,
                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect,
                TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
                TextSize = 16,
                Enable = false,
            };
            bottomFrameLayout.AddChidren(btnFinifh);
            btnFinifh.MouseUpEventHandler += async (sender, e) =>
             {
                 FinifhEventHandler(btnFinifh);
             };
            {
                FinifhEventHandler(btnFinifh);
            };
        }
        //确定事件处理
        async private void FinifhEventHandler(Button btnFinifh)
        void FinifhEventHandler(Button btnFinifh)
        {
            if (ZigBee.Device.DoorLock.LocalTempPassword == "")
            System.Threading.Tasks.Task.Run(async () =>
            {
                //请"点击生成"临时密码;
                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
                return;
                Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                try
                {
                    if (doorLock.LocalTempPassword == "")
                    {
                        //请"点击生成"临时密码;
                        Application.RunOnMainThread(() =>
                        {
                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
                        });
                        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 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);
                    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 && addOrModifyResult.responseData.status == 0)
                    {
                        System.Threading.Thread.Sleep(1000);
                        if (doorLock.tempPasswordObject != null)
                        {
                            var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData();
                            addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword;
                            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 && result1.StateCode != "Success")
                            {
                                Application.RunOnMainThread(() =>
                                {
                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
                                });
                                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);
                            });
                            return;
                        }
                    }
                    else
                    {
                        Application.RunOnMainThread(() =>
                        {
                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
                        });
                        return;
                    }
                }
                catch { }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        MidFrameLayoutContent();
                        CommonPage.Loading.Hide();
                    });
                }
            });
        }
        //清除事件处理
        async void ClearEventHandler(Button btnDelText = null, Dialog dialog = null)
        {
            if (btnDelText == null)
            {
                btnDelText = new Button();
            }
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100)
            Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
            try
            {
                //请设置生效时间;
                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip2), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh);
                return;
                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 && resultData.defaultControlResponseData.status == 0)
                    {
                        var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData();
                        if (doorLock.DeviceAddr != null)
                        {
                            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;
                        }
                        else
                        {
                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
                        }
                    }
                    else
                    {
                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText);
                    }
                }
            }
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0)
            catch { }
            finally
            {
                //请设置生效日期;
                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)
            {
                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)
            {
                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 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);
            var result = await doorLock.TempPasswordAsync(ZigBee.Device.DoorLock.LocalTempPassword, validDateTime, inValidDateTime);
            if (result != null && result.responseData != null && result.responseData.status == 0)
            {
                var aa = 0;
            }
            else
            {
                //失败
                Application.RunOnMainThread(() =>
                {
                    if (dialog != null)
                    {
                        dialog.Close();
                    }
                    MidFrameLayoutContent();
                    CommonPage.Loading.Hide();
                });
            }
        }
        //生成随机数事件处理
        private void RandomPasswordMouseUpEventHandler(Button randomPassword)
        //读取云端存储数据
        void ReadTempPasswordData()
        {
            System.Threading.Tasks.Task.Run(async () =>
            {
                Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                try
                {
                    var getDoorLockTempPasswordData = new ZigBee.Device.DoorLock.GetDoorLockTempPasswordData();
                    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)
                    {
                        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;
                            doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd;
                            doorLock.tempPasswordObject = tpObj;
                            TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
                        }
                    }
                }
                catch { }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        MidFrameLayoutContent();
                        CommonPage.Loading.Hide();
                    });
                }
            });
        }
        //本地时间数据处理
        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;
            }
        }
        //时间显示数据处理
        void TimeDisplay(Button validTime, Button validTimeDate, Button inValidTime, Button inValidTimeDate, bool isDefaultTime)
        {
            string hour = "";
            string minute = "";
            if (isDefaultTime)
            {
                var cur = DateTime.Now;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = cur.Hour;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = cur.Hour;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = cur.Minute;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = cur.Minute;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = cur.Second;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = cur.Second;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = cur.Year;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = cur.Year;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = cur.Month;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = cur.Month;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = cur.Day;
                Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = cur.Day + 1;
            }
            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 = "00:00";
            }
            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 = "00:00";
            }
            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 ◆ 接口实现__________________________