From 3793a9a38ac6c4c4111c2bba3a35a71c30601e82 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 13 四月 2020 19:38:24 +0800 Subject: [PATCH] 上传个东西 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 489 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 306 insertions(+), 183 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs index ac08e64..bf61365 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs @@ -14,21 +14,19 @@ /// </summary> /// <param name="room"></param> /// <param name="doorLock"></param> - public UserDoorLockPage(Shared.Common.Room room, CommonDevice doorLock) + public UserDoorLockPage(Room room, CommonDevice doorLock) { + //寰愭鐨勯棬閿佺晫闈㈡墦寮�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�) + ControlCommonResourse.IsDoorLockPageOpen = true; this.doorLock = doorLock as ZigBee.Device.DoorLock; currentRoom = room; deviceUI = doorLock; - BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; + BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor; ZbGateway.StatusList.Add(this); } #region 鍙橀噺鐢虫槑 /// <summary> - /// IsDrawerLockMode - /// </summary> - public bool IsDrawerLockMode; - /// <summary> /// 褰撳墠闂ㄩ攣 /// </summary> ZigBee.Device.DoorLock doorLock; @@ -52,6 +50,10 @@ /// 淇濈暀涓婁竴娆¢煶閲� /// </summary> bool canOpenNormallyMode = false; + /// <summary> + /// IsDrawerLockMode[涓婚〉宸︽粦] + /// </summary> + public bool IsDrawerLockMode; /// <summary> /// 褰撳墠鐢甸噺 /// </summary> @@ -168,6 +170,14 @@ /// 聽褰撳墠闊抽噺 /// </summary> int currentVolume = -1; + /// <summary> + /// waitClickTime + /// </summary> + DateTime waitClickTime = DateTime.MaxValue; + /// <summary> + /// IsClick + /// </summary> + bool IsClick = true; #endregion /// <summary> @@ -197,8 +207,8 @@ btnFuncSet = new Button { X = Application.GetRealWidth(103), - Height = Application.GetRealHeight(69), - Width = Application.GetRealWidth(69), + Height = Application.GetMinReal(69), + Width = Application.GetMinReal(69), UnSelectedImagePath = "DoorLock/SettingIcon.png", }; btnFuncSetFrameLayout.AddChidren(btnFuncSet); @@ -210,6 +220,12 @@ if (doorLock.IsOnline == 1) { ReadDoorLockUserInfo(); + } + else + { + string msg1 = Language.StringByID(R.MyInternationalizationString.DoorLockOffLine); + this.ShowTipMsg(msg1); + return; } } @@ -253,8 +269,8 @@ midTopFrameLayout.AddChidren(btnRecordFrameLayout); btnRecord = new Button() { - Width = Application.GetRealWidth(69), - Height = Application.GetRealHeight(69), + Width = Application.GetMinReal(69), + Height = Application.GetMinReal(69), X = Application.GetRealWidth(46), Y = Application.GetRealHeight(46), UnSelectedImagePath = "DoorLock/RecordIcon.png", @@ -271,8 +287,8 @@ midTopFrameLayout.AddChidren(btnCollectFrameLayout); btnCollect = new Button() { - Width = Application.GetRealWidth(69), - Height = Application.GetRealHeight(69), + Width = Application.GetMinReal(69), + Height = Application.GetMinReal(69), X = Application.GetRealWidth(15), Y = Application.GetRealHeight(46), UnSelectedImagePath = "Item/Collection.png", @@ -305,13 +321,16 @@ TextSize = 10, TextAlignment = TextAlignment.CenterLeft, }; - midTopFrameLayout.AddChidren(btnCurrentPowerText); + midTopFrameLayout.AddChidren(btnCurrentPowerText); +#if Android + btnCurrentPowerText.X = btnStatus.Right + Application.GetRealWidth(20); +#endif //闂ㄩ攣寮�/鍏冲浘鐗� btnDoorLockPic = new Button() { - Width = Application.GetRealWidth(383), - Height = Application.GetRealHeight(343), + Width = Application.GetMinReal(383), + Height = Application.GetMinReal(343), X = Application.GetRealWidth(161), Y = Application.GetRealHeight(415), UnSelectedImagePath = "DoorLock/DoorLockPicClose.png", @@ -359,8 +378,8 @@ progressButton = new Button() { - Width = Application.GetRealWidth(84),//639-35 - Height = Application.GetRealHeight(93), + Width = Application.GetMinReal(84),//639-35 + Height = Application.GetMinReal(93), X = Application.GetRealWidth(58), Y = Application.GetRealHeight(347), UnSelectedImagePath = "DoorLock/UnLockButton.png", @@ -369,8 +388,8 @@ btnDoorOpenPic = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(164), Y = Application.GetRealHeight(6), UnSelectedImagePath = "DoorLock/DoorLockOpen.png", @@ -379,8 +398,8 @@ btnDoorClosePic = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(164), Y = Application.GetRealHeight(117), UnSelectedImagePath = "DoorLock/DoorLockClose.png", @@ -391,8 +410,8 @@ //鐢甸噺 btnPower = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(253), Y = Application.GetRealHeight(994), UnSelectedImagePath = "DoorLock/PowerOffline.png", @@ -410,8 +429,8 @@ midTopFrameLayout.AddChidren(btnVolumeFrameLayout); btnVolume = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(40), Y = Application.GetRealHeight(40), UnSelectedImagePath = "DoorLock/VolumeIcon.png", @@ -430,8 +449,8 @@ midTopFrameLayout.AddChidren(btnNormallyOpenFrameLayout); btnNormallyOpen = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(40), Y = Application.GetRealHeight(40), UnSelectedImagePath = "DoorLock/NormallyOpen.png", @@ -463,8 +482,8 @@ #region 褰撳墠鎴块棿 var btnCurrentRoomPic = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(58), Y = Application.GetRealHeight(29), UnSelectedImagePath = "DoorLock/RoomPic.png", @@ -517,13 +536,14 @@ }; flMain.AddChidren(progressBackground); + var progressValue = (currentVolume * (Convert.ToInt32(((float)100 / 15) * 100))) / 100; progressText = new Button() { Height = Application.GetRealHeight(58), Y = Application.GetRealHeight(89), TextColor = ZigbeeColor.Current.XMGray2, TextAlignment = TextAlignment.Center, - Text = currentVolume.ToString(), + Text = progressValue.ToString() + "%", }; diyImageVerticalSeekBar = new DiyImageVerticalSeekBar() @@ -539,7 +559,7 @@ ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor, ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏� SeekBarViewHeight = Application.GetRealHeight(17),//杩涘害鏉$殑瀹藉害 - Progress = (currentVolume * (Convert.ToInt32(((float)100 / 15) * 100))) / 100, + Progress = progressValue, }; progressBackground.AddChidren(progressText); progressBackground.AddChidren(diyImageVerticalSeekBar); @@ -561,7 +581,7 @@ curVolume = comandValueTemp; } currentVolume = curVolume; - progressText.Text = curVolume.ToString(); + progressText.Text = e.ToString() + "%"; }; } @@ -580,9 +600,28 @@ if (typeTag == "DoorLockProgrammingEventNotificationCommand" && tempDevice != null) { var tempDoor = (ZigBee.Device.DoorLock)tempDevice; - if (tempDoor.doorLockOperatingEventNotificationCommand != null) + if (tempDevice.DeviceEpoint == doorLock.DeviceEpoint + && tempDevice.DeviceAddr == doorLock.DeviceAddr) { - Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); }); + if (tempDoor.doorLockOperatingEventNotificationCommand != null) + { + //闈炰富浜轰笉寮硅繖涓獥鍙� + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + return; + } + string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) + { + if (doorLock.IsDoorLockNormallyMode[key] == true) + { + if (canOpenNormallyMode) + { + Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); }); + } + } + } + } } } @@ -601,7 +640,6 @@ Application.RunOnMainThread(() => { currentPower = dataReport.AttriButeData; - waitGetDoorLockPower = DateTime.MaxValue; UpdatePower(); }); } @@ -624,25 +662,102 @@ { CommonPage.Loading.Start(""); }); + //鏄惁鏀寔甯稿紑 canOpenNormallyMode = DoorLockCommonInfo.CanNormallyOpen(doorLock); + if (canOpenNormallyMode) + { + //鑾峰彇闂ㄩ攣甯稿紑妯″紡 + var resultRes = await DoorLockCommonInfo.GetNormallyOpenMode(doorLock); + if (resultRes == null) + { + Application.RunOnMainThread(() => + { + btnNormallyOpen.UnSelectedImagePath = "DoorLock/NormallyOpenOffline.png"; + btnNormallyOpen.Enable = false; + string msg = Language.StringByID(R.MyInternationalizationString.GetNormallyOpenModeFailed); + this.ShowTipMsg(msg); + }); + } + else + { + var tempRes = false; + if (resultRes == true) + { + tempRes = true; + } + else + { + tempRes = false; + } + + NormallyOpenModeValue(tempRes); + HaveLogicNormallyOpenMode = await Shared.Phone.Device.Logic.SkipView.Exist(); + Application.RunOnMainThread(() => + { + UpdateNomallyOpenStatus(); + }); + } + } + else + { + Application.RunOnMainThread(() => + { + btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0); + }); + } + //鏄惁鏀寔闊抽噺 canVolume = DoorLockCommonInfo.CanVolume(doorLock); + if (canVolume) + { + //璇诲彇闊抽噺 + var resultRes = await doorLock.GetVolumeAsync(); + if (resultRes == null || resultRes.volumeResponseData == null) + { + var listDevice = new List<CommonDevice> { }; + listDevice.Add(doorLock); + var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); + if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) + { + Application.RunOnMainThread(() => + { + var volumeMsg = Language.StringByID(R.MyInternationalizationString.GetVolumeFailed); + this.ShowTipMsg(volumeMsg); + }); + } + } + else + { + volumeData = resultRes.volumeResponseData; + Application.RunOnMainThread(() => + { + UpdateVolume(); + }); + } + } + else + { + Application.RunOnMainThread(() => + { + btnVolumeFrameLayout.Width = Application.GetRealWidth(0); + btnPower.X = Application.GetRealWidth(444); + }); + } + //璇诲彇闂ㄩ攣鐢甸噺锛氱皣ID锛�1 灞炴�D 33 doorLock.ReadAttri(Cluster_ID.Power, AttriButeId.DoorLockPower); //涓婃姤鐢甸噺绛�1绉� System.Threading.Thread.Sleep(1000); - //鑾峰彇闂ㄩ攣甯稿紑妯″紡 - await DoorLockCommonInfo.GetNormallyOpenMode(doorLock); - //璇诲彇闊抽噺 - ReadVolume(); } - catch { } + catch (Exception ex) + { + var mess = ex.Message; + } finally { Application.RunOnMainThread(() => { - UpdateNomallyOpenStatus(); CommonPage.Loading.Hide(); }); } @@ -671,10 +786,13 @@ //璁剧疆 EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) => { - var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); + //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎 + 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; functionSetting.Show(); + functionSetting.devicNameAction += (deviceRename) => { if (!string.IsNullOrEmpty(deviceRename)) @@ -715,15 +833,11 @@ btnCollect.IsSelected = !btnCollect.IsSelected; if (btnCollect.IsSelected) { - HdlRoomLogic.Current.AddLoveDevice(deviceUI);//鏀惰棌 - //Test - HaveLogicNormallyOpenMode = true; + HdlRoomLogic.Current.AddLoveDevice(deviceUI);//鏀惰棌 } else { - HdlRoomLogic.Current.DeleteLoveDevice(deviceUI);//鍙栨秷鏀惰棌 - //Test - HaveLogicNormallyOpenMode = false; + HdlRoomLogic.Current.DeleteLoveDevice(deviceUI);//鍙栨秷鏀惰棌 } }; btnCollectFrameLayout.MouseDownEventHandler += handerCollect; @@ -732,11 +846,26 @@ //寮�閿佷簨浠� EventHandler<MouseEventArgs> hander1 = async (sender, e) => { - if (DoorLockCommonInfo.IsDoorLockNormallyMode == true) + + string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) { - string msg0 = Language.StringByID(R.MyInternationalizationString.CurrentNormallyOpenMode); - this.ShowTipMsg(msg0); - } + if (doorLock.IsDoorLockNormallyMode[key] == true) + { + if (canOpenNormallyMode) + { + NomallyOpenModeInvalidDialog(false); + } + else + { + OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus); + } + } + else + { + OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus); + } + } else { OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus); @@ -748,9 +877,16 @@ //鍏抽攣浜嬩欢 EventHandler<MouseEventArgs> hander2 = (sender, e) => { - if (DoorLockCommonInfo.IsDoorLockNormallyMode == true) + if (canOpenNormallyMode) { - NomallyOpenModeInvalidDialog(); + var key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) + { + if (doorLock.IsDoorLockNormallyMode[key] == true) + { + NomallyOpenModeInvalidDialog(); + } + } } else { @@ -768,11 +904,6 @@ { VolumeDialog(progressText, diyImageVerticalSeekBar); } - else - { - var volumeMsg = Language.StringByID(R.MyInternationalizationString.NoSupport); - this.ShowTipMsg(volumeMsg); - } }; btnVolumeFrameLayout.MouseDownEventHandler += handerVolume; btnVolume.MouseDownEventHandler += handerVolume; @@ -781,16 +912,7 @@ //甯稿紑妯″紡鐐瑰嚮浜嬩欢 EventHandler<MouseEventArgs> handerNormallyOpen = (sender, e) => { - if (canOpenNormallyMode) - { - btnNormallyOpen.IsSelected = !btnNormallyOpen.IsSelected; - NomallyOpenDialog(); - } - else - { - var volumeMsg = Language.StringByID(R.MyInternationalizationString.NoSupport); - this.ShowTipMsg(volumeMsg); - } + NomallyOpenDialog(); }; btnNormallyOpenFrameLayout.MouseUpEventHandler += handerNormallyOpen; btnNormallyOpen.MouseUpEventHandler += handerNormallyOpen; @@ -812,15 +934,15 @@ { btnPower.UnSelectedImagePath = "DoorLock/Power40.png"; } - else if (currentPower <= 60 && currentPower > 40 || currentPower == 60) + else if (currentPower <= 60 && currentPower > 40) { btnPower.UnSelectedImagePath = "DoorLock/Power60.png"; } - else if (currentPower <= 80 && currentPower >= 60) + else if (currentPower <= 80 && currentPower > 60) { btnPower.UnSelectedImagePath = "DoorLock/Power80.png"; } - else if (currentPower <= 100 && currentPower >= 80) + else if (currentPower <= 100 && currentPower > 80) { btnPower.UnSelectedImagePath = "DoorLock/Power100.png"; } @@ -831,39 +953,7 @@ } #endregion - #region 闊抽噺 - /// <summary> - /// 璇诲彇闊抽噺 - /// </summary> - private async void ReadVolume() - { - //鑾峰彇闂ㄩ攣闊抽噺 - if (!canVolume) - { - return; - } - var resultRes = await doorLock.GetVolumeAsync(); - - if (resultRes == null || resultRes.volumeResponseData == null) - { - var listDevice = new List<CommonDevice> { }; - listDevice.Add(doorLock); - var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); - if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) - { - var volumeMsg = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - this.ShowTipMsg(volumeMsg); - } - } - else - { - volumeData = resultRes.volumeResponseData; - Application.RunOnMainThread(() => - { - UpdateVolume(); - }); - } - } + #region 闊抽噺 /// <summary> /// 鏇存柊闊抽噺 /// </summary> @@ -923,12 +1013,12 @@ return; } Application.RunOnMainThread(() => - { - var volumeMsg = Language.StringByID(R.MyInternationalizationString.SetVolumeSuccess); - this.ShowTipMsg(volumeMsg); - oldVolume = currentVolume; - CommonPage.Loading.Hide(); - }); + { + var volumeMsg = Language.StringByID(R.MyInternationalizationString.SetVolumeSuccess); + this.ShowTipMsg(volumeMsg); + oldVolume = currentVolume; + CommonPage.Loading.Hide(); + }); } catch (Exception ex) { @@ -938,17 +1028,33 @@ } #endregion - #region 甯稿紑妯″紡 + #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); + } + } + /// <summary> /// 甯稿紑妯″紡澶勭悊 /// </summary> private async void NomallyOpenDialog() { - if (btnNormallyOpen.IsSelected) + if (!btnNormallyOpen.IsSelected) { if (UserCenterResourse.UserInfo.AuthorityNo != 1) { - this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoAccess)); + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); return; } @@ -964,10 +1070,7 @@ var confirm = Language.StringByID(R.MyInternationalizationString.Confrim); var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, confirm); alert.Show(); - alert.CancelClickEvent += () => - { - btnNormallyOpen.IsSelected = false; - }; + alert.ConfirmClickEvent += async () => { Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); @@ -976,19 +1079,22 @@ { string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); this.ShowTipMsg(msg0); - btnNormallyOpen.IsSelected = false; return; } if (result.defaultControlResponseData.status != 0) { string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed); this.ShowTipMsg(msg1); - btnNormallyOpen.IsSelected = false; return; } else { - DoorLockCommonInfo.IsDoorLockNormallyMode = true; + //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� + HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9001, string.Empty); + + //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂 + DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12; + NormallyOpenModeValue(true); UpdateNomallyOpenStatus(); CommonPage.Loading.Hide(); @@ -997,9 +1103,13 @@ var doorLockInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockInValidSetting); var alertNomallyModeIsTurnOn = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.DoorLockLogic, msgNomallyModeIsTurnOn, doorLockInValidSetting); alertNomallyModeIsTurnOn.Show(); + + //鐐瑰嚮鑷姩鍖� alertNomallyModeIsTurnOn.LogicClickEvent += () => { - //鑷姩鍖� + //閫昏緫璋冪敤鍓嶈寰楃Щ闄� + ZbGateway.StatusList.Remove(this); + Shared.Phone.Device.Logic.SkipView.SkipAddLogic(2, doorLock); }; alertNomallyModeIsTurnOn.InvalidClickEvent += async () => { @@ -1021,6 +1131,11 @@ /// </summary> public void NomallyOpenModeInvalidDialog(bool IsFromReport = false) { + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); + return; + } string msg = Language.StringByID(R.MyInternationalizationString.NomallyModeIsCanceled).Replace("{0}", "\r\n"); var confirm = Language.StringByID(R.MyInternationalizationString.SureCancel); var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.NomallyOpenMode, msg, confirm); @@ -1030,49 +1145,63 @@ alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.CancelNomallyOpenModeWithLogic, msg, confirm); } alert.Show(); + alert.MsgControlClickEvent += async () => + { + if (IsFromReport) + { + //鍙栨秷甯稿紑 + NormallyOpenModeValue(false); + UpdateNomallyOpenStatus(); + } + else + { + //淇濇寔甯稿紑 + NormallyOpenModeValue(true); + UpdateNomallyOpenStatus(); + } + }; alert.CancelClickEvent += async () => - { - //淇濇寔甯稿紑 - if (IsFromReport) - { - 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); - btnNormallyOpen.IsSelected = false; - DoorLockCommonInfo.IsDoorLockNormallyMode = false; - return; - } - if (result.defaultControlResponseData.status != 0) - { - string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed); - this.ShowTipMsg(msg1); - btnNormallyOpen.IsSelected = false; - DoorLockCommonInfo.IsDoorLockNormallyMode = false; - return; - } - else - { - DoorLockCommonInfo.IsDoorLockNormallyMode = true; - btnNormallyOpen.IsSelected = true; - UpdateNomallyOpenStatus(); - CommonPage.Loading.Hide(); - } - } - else - { - btnNormallyOpen.IsSelected = true; - } - }; + { + //淇濇寔甯稿紑 + if (IsFromReport) + { + 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); + NormallyOpenModeValue(false); + UpdateNomallyOpenStatus(); + return; + } + if (result.defaultControlResponseData.status != 0) + { + string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed); + this.ShowTipMsg(msg1); + NormallyOpenModeValue(false); + UpdateNomallyOpenStatus(); + return; + } + else + { + NormallyOpenModeValue(true); + UpdateNomallyOpenStatus(); + CommonPage.Loading.Hide(); + } + } + else + { + NormallyOpenModeValue(true); + UpdateNomallyOpenStatus(); + } + }; alert.ConfirmClickEvent += async () => { //纭鍙栨秷甯稿紑 if (IsFromReport) { - DoorLockCommonInfo.IsDoorLockNormallyMode = false; - btnNormallyOpen.IsSelected = false; + NormallyOpenModeValue(false); UpdateNomallyOpenStatus(); } else @@ -1083,22 +1212,24 @@ { string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); this.ShowTipMsg(msg0); - btnNormallyOpen.IsSelected = true; return; } if (result.defaultControlResponseData.status != 0) { string msg1 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeFailed); this.ShowTipMsg(msg1); - btnNormallyOpen.IsSelected = true; return; } else - { - DoorLockCommonInfo.IsDoorLockNormallyMode = false; + { + //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� + HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty); + + NormallyOpenModeValue(false); UpdateNomallyOpenStatus(); string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess); this.ShowTipMsg(msg2); + Shared.Phone.Device.Logic.SkipView.LockCloseLogic(doorLock); } } }; @@ -1114,10 +1245,7 @@ var timeConfrim = Language.StringByID(R.MyInternationalizationString.Confrim); var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim); alertTimeInValidSetting.Show(); - alertTimeInValidSetting.CancelClickEvent += () => - { - btnNormallyOpen.IsSelected = true; - }; + alertTimeInValidSetting.InvalidTimeAction += (obj) => { Regex rg = new Regex("^[0-9]+$"); @@ -1135,7 +1263,7 @@ } var temp = int.Parse(obj); DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp; - btnNormallyOpen.IsSelected = true; + Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); }; } /// <summary> @@ -1145,11 +1273,11 @@ { if (!canOpenNormallyMode) { - btnNormallyOpen.UnSelectedImagePath = "DoorLock/NormallyOpenOffline.png"; - btnNormallyOpen.Enable = false; + btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0); return; } - if (DoorLockCommonInfo.IsDoorLockNormallyMode == true) + string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + if (doorLock.IsDoorLockNormallyMode[key] == true) { btnNormallyOpen.IsSelected = true; btnDoorLockPic.IsSelected = true; @@ -1157,19 +1285,12 @@ btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen); } - else if (DoorLockCommonInfo.IsDoorLockNormallyMode == false) + else if (doorLock.IsDoorLockNormallyMode[key] == false) { btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose); btnDoorLockPic.IsSelected = false; btnNormallyOpen.IsSelected = false; progressButton.Y = Application.GetRealHeight(347); - } - else - { - btnNormallyOpen.UnSelectedImagePath = "DoorLock/NormallyOpenOffline.png"; - btnNormallyOpen.Enable = false; - string msg = Language.StringByID(R.MyInternationalizationString.GetNormallyOpenModeFailed); - this.ShowTipMsg(msg); } } #endregion @@ -1187,13 +1308,13 @@ btnDoorOpenPic.Enable = false; if (UserCenterResourse.UserInfo.AuthorityNo != 1) { - var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); + var result = await DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); if (result == false) { - var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid); + var result1 = await DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid); if (result1 == true) { - RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); + RemoteUnlockRequest(currentRoom, deviceUI, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); devicNameSecAction += (deviceRename) => { if (!string.IsNullOrEmpty(deviceRename)) @@ -1223,7 +1344,7 @@ } else { - RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); + RemoteUnlockRequest(currentRoom, deviceUI, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); devicNameSecAction += (deviceRename) => { if (!string.IsNullOrEmpty(deviceRename)) @@ -1246,6 +1367,8 @@ /// </summary> public override void RemoveFromParent() { + //寰愭鐨勯棬閿佺晫闈㈠叧闂�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�) + ControlCommonResourse.IsDoorLockPageOpen = false; if (IsDrawerLockMode) { CommonPage.Instance.IsDrawerLockMode = false; -- Gitblit v1.8.0