| | |
| | | this.doorLock = doorLock; |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; |
| | | ZigBee.Device.ZbGateway.StatusList.Add(this); |
| | | ReadTempPasswordData(); |
| | | } |
| | | |
| | | #region ◆ 变量申明__________________________ |
| | |
| | | /// </summary> |
| | | public void Show() |
| | | { |
| | | ReadTempPasswordData(); |
| | | this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.TemporaryPassword)); |
| | | |
| | | EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => |
| | |
| | | #region btnDelFrameLayout |
| | | var btnDelFrameLayout = new FrameLayout |
| | | { |
| | | X = Application.GetRealWidth(953), |
| | | X = Application.GetRealWidth(953 - 116), |
| | | Height = Application.GetRealHeight(69), |
| | | Width = Application.GetRealWidth(1080 - 953), |
| | | }; |
| | |
| | | { |
| | | randomPassword.Text = doorLock.LocalTempPassword; |
| | | temPasswordVisiable.Visible = true; |
| | | // topPic.Visible = false; |
| | | // topPic.Enable = false; |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable) |
| | | { |
| | | randomPassword.SecureTextEntry = false; |
| | |
| | | Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); |
| | | try |
| | | { |
| | | if (doorLock.LocalTempPassword == "") |
| | | if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) |
| | | { |
| | | //请"点击生成"临时密码; |
| | | Application.RunOnMainThread(() => |
| | |
| | | }); |
| | | 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 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 - 1, 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); |
| | | if (DateTime.Compare(inValidDateTime, validDateTime) < 0) |
| | | { |
| | | //无效的时间设置 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | var startTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(validDateTime); |
| | | var endTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(inValidDateTime); |
| | | |
| | | action = (topic, data) => |
| | | { |
| | | var gatewayID = topic.Split('/')[0]; |
| | |
| | | } |
| | | //设置临时密码到门锁 |
| | | var addOrModifyResult = await doorLock.TempPasswordAsync(doorLock.LocalTempPassword, validDateTime, inValidDateTime); |
| | | if (addOrModifyResult != null && addOrModifyResult.responseData != null && addOrModifyResult.responseData.status == 0) |
| | | if (addOrModifyResult != null && addOrModifyResult.responseData != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | if (doorLock.tempPasswordObject != null) |
| | | if (addOrModifyResult.responseData.status == 0) |
| | | { |
| | | var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData(); |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | System.Threading.Thread.Sleep(1000); |
| | | if (doorLock.tempPasswordObject != null) |
| | | { |
| | | addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | addDoorLockTempPasswordData.IsOtherAccountCtrl = true; |
| | | var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData(); |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | { |
| | | addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | addDoorLockTempPasswordData.IsOtherAccountCtrl = true; |
| | | } |
| | | 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) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | }); |
| | | return; |
| | | } |
| | | if (result1.StateCode != "Success") |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | }); |
| | | return; |
| | | } |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false; |
| | | doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword; |
| | | TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); |
| | | } |
| | | 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") |
| | | else |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | }); |
| | | 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); |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | }); |
| | | return; |
| | | } |
| | |
| | | { |
| | | 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) |
| | | if (resultData != null && resultData.defaultControlResponseData != null) |
| | | { |
| | | var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData(); |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | if (resultData.defaultControlResponseData.status == 0) |
| | | { |
| | | delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | delDoorLockTempPasswordData.IsOtherAccountCtrl = true; |
| | | } |
| | | 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; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; |
| | | var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData(); |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | { |
| | | delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | delDoorLockTempPasswordData.IsOtherAccountCtrl = true; |
| | | } |
| | | if (doorLock.DeviceAddr != null) |
| | | { |
| | | delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | } |
| | | var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData); |
| | | if (result1 != null) |
| | | { |
| | | if (result1.StateCode == "Success") |
| | | { |
| | | doorLock.tempPasswordObject = null; |
| | | doorLock.LocalTempPassword = ""; |
| | | TimeDateData(DateTime.Now, DateTime.Now, true); |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; |
| | | } |
| | | else |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1) + ".", Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | 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); |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText); |
| | | |
| | | } |
| | | } |
| | |
| | | getDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | } |
| | | var result = await ZigBee.Device.DoorLock.GetDoorLockTempPasswordFromServer("DoorLock/GetDoorLockPwdPagger", getDoorLockTempPasswordData); |
| | | if (result != null && result.PageData != null) |
| | | if (result != null) |
| | | { |
| | | foreach (var curDoorLockTempPaw in result.PageData) |
| | | if (result.PageData.Count != 0) |
| | | { |
| | | 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); |
| | | 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); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | doorLock.tempPasswordObject = null; |
| | | doorLock.LocalTempPassword = ""; |
| | | TimeDateData(DateTime.Now, DateTime.Now, true); |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); |
| | | } |
| | | } |
| | | catch { } |
| | |
| | | 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; |
| | | //doorLock.ReSave(); |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10) |
| | | { |