From e2cd94abacc0101af8d0db7fed3a785c1a045b5d Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 07 五月 2020 09:28:51 +0800 Subject: [PATCH] 上传 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 197 ++++++++++++++++++++++-------------------------- 1 files changed, 91 insertions(+), 106 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs index fdac3f9..5673d8f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs @@ -47,7 +47,7 @@ /// </summary> bool canVolume = false; /// <summary> - /// 淇濈暀涓婁竴娆¢煶閲� + /// 鏄惁鏀寔甯稿紑 /// </summary> bool canOpenNormallyMode = false; /// <summary> @@ -218,7 +218,7 @@ ClickHandle(); - if (doorLock.IsOnline == 1) + if (Common.LocalDevice.Current.CheckDeviceIsOnline(doorLock) == true) { ReadDoorLockUserInfo(); } @@ -605,15 +605,11 @@ { return; } - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) + if (doorLock.IsDoorLockNormallyMode) { - if (doorLock.IsDoorLockNormallyMode[key] == true) - { - if (canOpenNormallyMode) - { - Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); }); - } + if (canOpenNormallyMode) + { + Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); }); } } } @@ -685,12 +681,10 @@ { tempRes = false; } - - NormallyOpenModeValue(tempRes); - + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes); Application.RunOnMainThread(async () => { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(); + var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(2); if (resTemp == 1) { HaveLogicNormallyOpenMode = true; @@ -790,8 +784,9 @@ //璁剧疆 EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) => { - //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎 - RemoveFromParent(); + //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎銆愭殏鏃朵笉绉婚櫎銆� + //RemoveFromParent(); + var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock); Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; @@ -850,20 +845,11 @@ //寮�閿佷簨浠� EventHandler<MouseEventArgs> hander1 = async (sender, e) => { - - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) + if (doorLock.IsDoorLockNormallyMode) { - if (doorLock.IsDoorLockNormallyMode[key] == true) - { - if (canOpenNormallyMode) - { - NomallyOpenModeInvalidDialog(false); - } - else - { - OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus); - } + if (canOpenNormallyMode) + { + NomallyOpenModeInvalidDialog(false); } else { @@ -887,13 +873,9 @@ { if (canOpenNormallyMode) { - var key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) + if (doorLock.IsDoorLockNormallyMode) { - if (doorLock.IsDoorLockNormallyMode[key] == true) - { - NomallyOpenModeInvalidDialog(); - } + NomallyOpenModeInvalidDialog(); } } else @@ -1036,51 +1018,64 @@ } #endregion - #region 甯稿紑妯″紡 - /// <summary> - /// 闂ㄩ攣甯稿紑妯″紡鍊� - /// </summary> - public void NormallyOpenModeValue(bool value) - { - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) - { - doorLock.IsDoorLockNormallyMode[key] = value; - } - else - { - doorLock.IsDoorLockNormallyMode.Add(key, value); - } - } - + #region 甯稿紑妯″紡 /// <summary> /// 甯稿紑妯″紡澶勭悊 /// </summary> private async void NomallyOpenDialog() { + #region 鍚庣画鐗堟湰 + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); + return; + } + + if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) + { + SystemSecondAuthentication(); + return; + } + + action = () => + { + //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥�� + var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + functionSetting.Show(); + // functionSetting.aaaAction = () => + //{ + // UpdateNomallyOpenStatus(); + //}; + }; + HdlCheckLogic.Current.CheckSecondarySecurity(action); + #endregion + + #region 鏆傛椂鐗堟湰 (鏈�缁堝幓鎺夛級 if (!btnNormallyOpen.IsSelected) { if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { + { this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); + return; + } + + if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) + { + SystemSecondAuthentication(); return; - } - - if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) - { - SystemSecondAuthentication(); - return; - } - - action = () => - { + } + + action = () => + { string msg = Language.StringByID(R.MyInternationalizationString.SetDoorLockNomallyOpen).Replace("{0}", "\r\n"); var confirm = Language.StringByID(R.MyInternationalizationString.Confrim); var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, confirm); - alert.Show(); + alert.Show(); - alert.ConfirmClickEvent += async () => - { + alert.ConfirmClickEvent += async () => + { Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); var result = await doorLock.SetNormallyOpenModeFuncAsync(true); if (result == null || result.defaultControlResponseData == null) @@ -1102,24 +1097,27 @@ //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂 DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12; - NormallyOpenModeValue(true); - Application.RunOnMainThread(() => + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); + Application.RunOnMainThread(() => { - UpdateNomallyOpenStatus(); + UpdateNomallyOpenStatus(); CommonPage.Loading.Hide(); }); //甯稿紑妯″紡寮�鍚彁绀� AlreadyOpenNormallyMode(); } - }; - }; - HdlCheckLogic.Current.CheckSecondarySecurity(action); + }; + + }; + HdlCheckLogic.Current.CheckSecondarySecurity(action); } else { NomallyOpenModeInvalidDialog(); } + + #endregion } /// <summary> @@ -1146,8 +1144,8 @@ { if (IsFromReport) { - //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷 - NormallyOpenModeValue(false); + //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷 + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1165,8 +1163,8 @@ } else { - //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚� - NormallyOpenModeValue(true); + //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚� + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1195,11 +1193,11 @@ var result = await doorLock.SetNormallyOpenModeFuncAsync(true); if (result == null || result.defaultControlResponseData == null) { - string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - this.ShowTipMsg(msg0); - NormallyOpenModeValue(false); Application.RunOnMainThread(() => { + string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); + this.ShowTipMsg(msg0); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); UpdateNomallyOpenStatus(); }); return; @@ -1208,7 +1206,7 @@ { string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed); this.ShowTipMsg(msg1); - NormallyOpenModeValue(false); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1217,8 +1215,8 @@ } else { - //淇濇寔鈥滃父寮�鎴愬姛鈥� - NormallyOpenModeValue(true); + //淇濇寔鈥滃父寮�鎴愬姛鈥� + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1237,8 +1235,8 @@ } else { - //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥� - NormallyOpenModeValue(true); + //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥� + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1250,8 +1248,8 @@ { if (IsFromReport) { - //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑� - NormallyOpenModeValue(false); + //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑� + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1290,8 +1288,8 @@ //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty); - //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔� - NormallyOpenModeValue(false); + //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔� + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1367,19 +1365,6 @@ alertTimeInValidSetting.InvalidTimeAction += async (obj) => { - Regex rg = new Regex("^[0-9]+$"); - if (!rg.IsMatch(obj)) - { - //蹇呴』鏄暟瀛� - string msg0 = Language.StringByID(R.MyInternationalizationString.NormallyOpenModeInvalidTimeTip); - this.ShowTipMsg(msg0); - - string msgTimeInValidSetting2 = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime); - var timeConfrim2 = Language.StringByID(R.MyInternationalizationString.Confrim); - var alertTimeInValidSetting2 = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting2, timeConfrim2); - alertTimeInValidSetting2.Show(); - return; - } //甯稿紑妯″紡澶辨晥鏃堕棿璁剧疆鎴愬姛 var temp = int.Parse(obj); DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp; @@ -1389,8 +1374,8 @@ { //榛樿鍒涘缓甯稿紑妯″紡澶辫触 string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); - this.ShowTipMsg(msg0); - + var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, msg0, Language.StringByID(R.MyInternationalizationString.confrim)); + alert.Show(); //浜屾鍔犺浇寮圭獥 甯稿紑妯″紡寮�鍚彁绀� NomallyOpenModeInvalidTimeDialog(); } @@ -1407,8 +1392,7 @@ btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0); return; } - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode[key] == true) + if (doorLock.IsDoorLockNormallyMode) { btnNormallyOpen.IsSelected = true; btnDoorLockPic.IsSelected = true; @@ -1416,7 +1400,7 @@ btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen); } - else if (doorLock.IsDoorLockNormallyMode[key] == false) + else if (!doorLock.IsDoorLockNormallyMode) { btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose); btnDoorLockPic.IsSelected = false; @@ -1505,6 +1489,7 @@ CommonPage.Instance.IsDrawerLockMode = false; } ZbGateway.StatusList.Remove(this); + DoorLockCommonInfo.LogicAction = null; base.RemoveFromParent(); } #endregion -- Gitblit v1.8.0