From e96e11d6f8b965ea522c983e040d41e3b9ef105a Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期一, 18 五月 2020 21:33:19 +0800 Subject: [PATCH] 2020-05-18-4 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 174 +++++++++++++++++++++++----------------------------------- 1 files changed, 69 insertions(+), 105 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs old mode 100755 new mode 100644 index 31d2467..096bed2 --- 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); }); } } } @@ -688,7 +684,7 @@ 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(3,doorLock); if (resTemp == 1) { HaveLogicNormallyOpenMode = true; @@ -774,6 +770,7 @@ /// </summary> public void ClickHandle() { + //闂ㄩ攣鏍囬 btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock); @@ -788,8 +785,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; @@ -848,20 +846,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 { @@ -885,13 +874,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 @@ -1040,68 +1025,51 @@ /// </summary> private async void NomallyOpenDialog() { - if (!btnNormallyOpen.IsSelected) + if (UserCenterResourse.UserInfo.AuthorityNo != 1) { - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); - return; + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); + return; + } + + if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) + { + SystemSecondAuthentication(); + return; + } + + action = () => + { + //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥�� + if (doorLock == null) + { + ///闃叉鎶涘紓甯� + return; + } + ///澶囨敞锛歐JC鐨� + Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock; + ///杩涙潵鍒锋柊涓�娆¤澶囧垪琛紱 + Common.Logic.LogicDviceList.Clear(); + if (Common.Logic.LogicDviceList.Count == 0) + { + Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray()); } - - if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) + + var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList(); + UserView.HomePage.Instance.AddChidren(addLogicPage); + UserView.HomePage.Instance.PageIndex += 1; + addLogicPage.Show(); + addLogicPage._if = true; + addLogicPage.action += (w) => { - SystemSecondAuthentication(); - return; - } - - 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.ConfirmClickEvent += async () => - { - Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - var result = await doorLock.SetNormallyOpenModeFuncAsync(true); - if (result == null || result.defaultControlResponseData == null) - { - string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - this.ShowTipMsg(msg0); - return; - } - if (result.defaultControlResponseData.status != 0) - { - string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed); - this.ShowTipMsg(msg1); - return; - } - else - { - //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� - HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9001, string.Empty); - - //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂 - DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12; - DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); - Application.RunOnMainThread(() => - { - UpdateNomallyOpenStatus(); - CommonPage.Loading.Hide(); - }); - - //甯稿紑妯″紡寮�鍚彁绀� - AlreadyOpenNormallyMode(); - } - }; + doorLock.IsDoorLockNormallyMode = w; + ///鐣欑粰寰愭鐢ㄧ殑 + UpdateNomallyOpenStatus(); }; - HdlCheckLogic.Current.CheckSecondarySecurity(action); - } - else - { - NomallyOpenModeInvalidDialog(); - } + + }; + HdlCheckLogic.Current.CheckSecondarySecurity(action); + + } /// <summary> @@ -1137,7 +1105,7 @@ //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 if (HaveLogicNormallyOpenMode) { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); + var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); //if (resTemp == 3) //{ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); @@ -1165,7 +1133,7 @@ //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 if (HaveLogicNormallyOpenMode) { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); + var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); //if (resTemp == 3) //{ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed2); @@ -1177,11 +1145,11 @@ var result = await doorLock.SetNormallyOpenModeFuncAsync(true); if (result == null || result.defaultControlResponseData == null) { - string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - this.ShowTipMsg(msg0); - DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); Application.RunOnMainThread(() => { + string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); + this.ShowTipMsg(msg0); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); UpdateNomallyOpenStatus(); }); return; @@ -1242,7 +1210,7 @@ //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 if (HaveLogicNormallyOpenMode) { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); + var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); //if (resTemp == 3) //{ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); @@ -1281,7 +1249,7 @@ //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫 if (HaveLogicNormallyOpenMode) { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); + var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); //鍥犱负鐩墠鏈哄埗闂锛岄�昏緫缁忓父澶辫触锛屾墍浠ヤ笉鎻愮ず锛屽悗鏈熸満鍒惰鏀癸紝閲嶆柊鍋氫竴涓繖涓晫闈� //if (resTemp == 3) //{ @@ -1354,7 +1322,7 @@ DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp; //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); - if (!res) + if (res==0) { //榛樿鍒涘缓甯稿紑妯″紡澶辫触 string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); @@ -1376,12 +1344,7 @@ btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0); return; } - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (!doorLock.IsDoorLockNormallyMode.ContainsKey(key)) - { - return; - } - if (doorLock.IsDoorLockNormallyMode[key] == true) + if (doorLock.IsDoorLockNormallyMode) { btnNormallyOpen.IsSelected = true; btnDoorLockPic.IsSelected = true; @@ -1389,7 +1352,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; @@ -1478,6 +1441,7 @@ CommonPage.Instance.IsDrawerLockMode = false; } ZbGateway.StatusList.Remove(this); + DoorLockCommonInfo.LogicAction = null; base.RemoveFromParent(); } #endregion -- Gitblit v1.8.0