黄学彪
2019-11-25 5727cf0b9b54da0a191dd1e23cb5abf21320fbff
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs
@@ -40,7 +40,7 @@
            {
                currentTitle = Language.StringByID(R.MyInternationalizationString.AddFingerprint);
            }
            else
            else if (currentType == "proximity")
            {
                currentTitle = Language.StringByID(R.MyInternationalizationString.AddIcCard);
            }
@@ -48,11 +48,6 @@
            EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
            {
                if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
                {
                    doorLock.Gateway.GwResDataAction -= action;
                }
                this.RemoveFromParent();
            };
            this.btnBack.MouseUpEventHandler += eHandlerBack;
@@ -60,6 +55,19 @@
            this.MidFrameLayout(this);
            MidFrameLayoutContent();
        }
        /// <summary>
        /// 重写移除方法
        /// </summary>
        public override void RemoveFromParent()
        {
            ZbGateway.StatusList.Remove(this);
            if (doorLock.Gateway != null || doorLock.Gateway.GwResDataAction != null)
            {
                doorLock.Gateway.GwResDataAction -= action;
            }
            base.RemoveFromParent();
        }
        public void MidFrameLayoutContent()
@@ -126,7 +134,7 @@
                X = Application.GetRealWidth(202),
                Y = Application.GetRealHeight(1388),
                Height = Application.GetRealHeight(49),
                Width = Application.GetRealWidth(674),
                Width = Application.GetRealWidth(685),
                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                Gravity = Gravity.CenterHorizontal,
                TextSize = 12,
@@ -139,7 +147,7 @@
                Y = Application.GetRealHeight(1472),
                Height = Application.GetRealHeight(127),
                Width = Application.GetRealWidth(907),
                Text = Language.StringByID(R.MyInternationalizationString.NextStep),
                Text = Language.StringByID(R.MyInternationalizationString.NextStepXm),
                TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
                Gravity = Gravity.CenterHorizontal,
                Radius = 10,
@@ -178,7 +186,7 @@
                btnPicTip1.X = Application.GetRealWidth(450);
                btnPicTip5.Text = Language.StringByID(R.MyInternationalizationString.EntryTip);
            }
            else
            else if (currentType == "proximity")
            {
                topMidFrameLayout.BackgroundImagePath = "DoorLock/AddIcCardTipPic.png";
                btnPicTip3.Width = Application.GetRealWidth(495);
@@ -214,21 +222,41 @@
                    var ProgrammingEventNotificationData = Newtonsoft.Json.JsonConvert.DeserializeObject<ZigBee.Device.DoorLock.DoorLockProgrammingEventNotificationCommand>(jObjectdata["Data"].ToString());
                    if (ProgrammingEventNotificationData != null)
                    {
                        doorLock.doorLockProgrammingEventNotificationCommand = ProgrammingEventNotificationData;
                        var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
                        localDoorLockObj.UserID = ProgrammingEventNotificationData.UserID;
                        localDoorLockObj.UnlockType = ProgrammingEventNotificationData.ProgramEventSoure;
                        var entryTime = ZigBee.Device.DoorLock.GetLocalTime(ProgrammingEventNotificationData.ZigbeeLocalTime, false);
                        localDoorLockObj.EntryTime = entryTime;
                        if (!doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj.UserID))
                        int curMethod = -1;
                        if (currentType == "password")
                        {
                            doorLock.localDoorLockUserList.Add(ProgrammingEventNotificationData.UserID, localDoorLockObj);
                            curMethod = 0;
                        }
                        Application.RunOnMainThread(() =>
                        else if (currentType == "fingerprint")
                        {
                            nextBtn.Enable = true;
                            nextBtn.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                        });
                            curMethod = 15;
                        }
                        else if (currentType == "proximity")
                        {
                            curMethod = 3;
                        }
                        else
                        {
                            return;
                        }
                        if (ProgrammingEventNotificationData.ProgramEventSoure == curMethod)
                        {
                            doorLock.doorLockProgrammingEventNotificationCommand = ProgrammingEventNotificationData;
                            var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { };
                            localDoorLockObj.UserID = ProgrammingEventNotificationData.UserID;
                            localDoorLockObj.UnlockType = ProgrammingEventNotificationData.ProgramEventSoure;
                            localDoorLockObj.EntryTime = System.DateTime.Now;
                            //先暂时加入,等云端添加和获取真正成功后才真的加入
                            if (!doorLock.localDoorLockUserList.ContainsKey(localDoorLockObj.UserID))
                            {
                                doorLock.localDoorLockUserList.Add(ProgrammingEventNotificationData.UserID, localDoorLockObj);
                            }
                            Application.RunOnMainThread(() =>
                            {
                                nextBtn.Enable = true;
                                nextBtn.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                            });
                        }
                    }
                }
            };
@@ -240,11 +268,11 @@
            nextBtn.MouseDownEventHandler += (sende, e) =>
            {
                this.RemoveFromParent();
                var entryStatusPage = new Shared.Phone.UserCenter.DoorLock.EntryStatusPage(doorLock, curAccountObj, currentType);
                Shared.Phone.UserView.HomePage.Instance.AddChidren(entryStatusPage);
                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                entryStatusPage.Show();
                this.RemoveFromParent();
            };
        }