| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Shared.Common; |
| | | using Shared.Phone.UserView; |
| | | using ZigBee.Device; |
| | | |
| | | namespace Shared.Phone.UserCenter.DoorLock |
| | | { |
| | | public class FunctionSetting : DoorLockCommonLayout, ZigBee.Common.IStatus |
| | | public class FunctionSetting : DoorLockCommonLayout |
| | | { |
| | | #region 构造函数 |
| | | /// <summary> |
| | | /// 构造函数 |
| | | /// </summary> |
| | | /// <param name="doorLock"></param> |
| | | public FunctionSetting(ZigBee.Device.DoorLock doorLock) |
| | | public FunctionSetting(Room room, CommonDevice doorLock) |
| | | { |
| | | this.doorLock = doorLock; |
| | | this.doorLock = doorLock as ZigBee.Device.DoorLock; |
| | | currentRoom = room; |
| | | deviceUI = doorLock; |
| | | listNewDevice.Add(doorLock); |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; |
| | | ZigBee.Device.ZbGateway.StatusList.Add(this); |
| | | } |
| | | #endregion |
| | | |
| | | #region ◆ 变量申明__________________________ |
| | | ZigBee.Device.DoorLock doorLock; |
| | | #region 变量申明 |
| | | public ZigBee.Device.DoorLock doorLock = null; |
| | | /// <summary> |
| | | /// 当前房间 |
| | | /// </summary> |
| | | Room currentRoom; |
| | | /// <summary> |
| | | /// 设备UI对象 |
| | | /// </summary> |
| | | CommonDevice deviceUI; |
| | | /// <summary> |
| | | /// 设备需要保存的设备名字 |
| | | /// </summary> |
| | |
| | | /// 设备的某一回路 |
| | | /// </summary> |
| | | private CommonDevice deviceObj = null; |
| | | /// <summary> |
| | | /// 设备对象 |
| | | /// </summary> |
| | | private List<CommonDevice> listNewDevice = new List<CommonDevice> { }; |
| | | Action action; |
| | | Action actionNone; |
| | | string modifyDeviceName = ""; |
| | | bool IsModifyName = true; |
| | | public Action<string> devicNameAction; |
| | | private VerticalListControl listview = null;//功能列表 |
| | | FrameLayout bottomFrameLayout; |
| | | #endregion |
| | | |
| | | #region UI显示 |
| | | /// <summary>
|
| | | /// UI显示
|
| | | /// </summary> |
| | |
| | | MidFrameLayoutContent(); |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | #region 中部显示 |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | //图片 |
| | | var btnPic = new DeviceInfoIconControl(); |
| | | btnPic.Y = Application.GetRealHeight(92); |
| | | btnPic.Gravity = Gravity.CenterHorizontal; |
| | | this.midFrameLayout.AddChidren(btnPic); |
| | | btnPic.InitControl(doorLock); |
| | | |
| | | var MidTopFrameLayout = new FrameLayout() |
| | | var btnDeviceText = new Button() |
| | | { |
| | | X = Application.GetRealWidth(449), |
| | | Y = Application.GetRealHeight(58), |
| | | Width = Application.GetRealWidth(184), |
| | | Height = Application.GetRealHeight(184), |
| | | BackgroundImagePath = "DoorLock/DoorlockPicture.png", |
| | | Y = Application.GetRealHeight(288), |
| | | Height = Application.GetRealHeight(60), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | TextColor = ZigbeeColor.Current.XMBlack, |
| | | TextSize = 15, |
| | | Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock), |
| | | }; |
| | | this.midFrameLayout.AddChidren(MidTopFrameLayout); |
| | | this.midFrameLayout.AddChidren(btnDeviceText); |
| | | |
| | | BottomFrameLayout(); |
| | | } |
| | | #endregion |
| | | |
| | | #region 底部显示 |
| | | public void BottomFrameLayout() |
| | | { |
| | | #region UI |
| | | var bottomFrameLayout = new FrameLayout() |
| | | bottomFrameLayout = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(100), |
| | | Height = Application.GetRealHeight(1319), |
| | | Y = Application.GetRealHeight(418), |
| | | Radius = 17, |
| | | BackgroundColor = ZigbeeColor.Current.XMWhite, |
| | | }; |
| | | this.midFrameLayout.AddChidren(bottomFrameLayout); |
| | | |
| | | var bottomFrameLayout1 = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(1319 - 50), |
| | | Y = Application.GetRealHeight(418 + 48), |
| | | BackgroundColor = ZigbeeColor.Current.XMWhite, |
| | | }; |
| | | this.midFrameLayout.AddChidren(bottomFrameLayout1); |
| | | |
| | | var bottomFrameLayout2 = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(1054), |
| | | Y = Application.GetRealHeight(418), |
| | | }; |
| | | this.midFrameLayout.AddChidren(bottomFrameLayout2); |
| | | bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | |
| | | var informationEdit = new Button() |
| | | { |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = 15, |
| | | }; |
| | | bottomFrameLayout2.AddChidren(informationEdit); |
| | | bottomFrameLayout.AddChidren(informationEdit); |
| | | |
| | | for (int i = 0; i < 6; i++) |
| | | listview = new VerticalListControl() |
| | | { |
| | | var bottomRowLayout = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(58), |
| | | }; |
| | | bottomFrameLayout2.AddChidren(bottomRowLayout); |
| | | Height = Application.GetRealHeight(1319 - 141), |
| | | Y = Application.GetRealHeight(170), |
| | | }; |
| | | bottomFrameLayout.AddChidren(listview); |
| | | #endregion |
| | | |
| | | var btnName = new Button() |
| | | { |
| | | Width = Application.GetRealWidth(233), |
| | | Height = Application.GetRealHeight(58), |
| | | X = Application.GetRealWidth(58), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = 14, |
| | | }; |
| | | bottomRowLayout.AddChidren(btnName); |
| | | FunctionDetail(doorLock); |
| | | } |
| | | #endregion |
| | | |
| | | var btnNextFrameLayout = new FrameLayout() |
| | | #region 功能显示 |
| | | void FunctionDetail(ZigBee.Device.DoorLock doorLock) |
| | | { |
| | | listview.RemoveAll(); |
| | | //设备备注 |
| | | string caption = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm); |
| | | string deviceName = Common.LocalDevice.Current.GetDeviceMacName(doorLock); |
| | | var btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2);
|
| | | btnNote.txtInput.MaxByte = 48;//限制只能输入48个字节 |
| | | listview.AddChidren(btnNote); |
| | | btnNote.InitControl(); |
| | | //划线 |
| | | btnNote.AddBottomLine(); |
| | | btnNote.txtInput.FinishInputEvent += () => |
| | | { |
| | | string oldName = Common.LocalDevice.Current.GetDeviceMacName(doorLock); |
| | | if (btnNote.Text == string.Empty) |
| | | { |
| | | Width = Application.GetRealWidth(104), |
| | | Height = Application.GetRealHeight(58), |
| | | X = Application.GetRealWidth(861 + 58), |
| | | }; |
| | | bottomRowLayout.AddChidren(btnNextFrameLayout); |
| | | |
| | | var btnNext = new Button() |
| | | { |
| | | Width = Application.GetRealWidth(58), |
| | | Height = Application.GetRealHeight(58), |
| | | X = Application.GetRealWidth(46) |
| | | }; |
| | | btnNextFrameLayout.AddChidren(btnNext); |
| | | |
| | | var btnLine = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(965), |
| | | Height = 1, |
| | | X = Application.GetRealWidth(58), |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | | Visible = false, |
| | | }; |
| | | bottomFrameLayout2.AddChidren(btnLine); |
| | | |
| | | if (i == 0) |
| | | { |
| | | bottomRowLayout.Y = Application.GetRealHeight(220); |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm) + ":"; |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(233); |
| | | btnNext.TextAlignment = TextAlignment.CenterLeft; |
| | | btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; |
| | | btnNext.Text = doorLock.DeviceName; |
| | | btnLine.Visible = true; |
| | | btnLine.Y = Application.GetRealHeight(303); |
| | | btnNote.Text = oldName; |
| | | } |
| | | else if (i == 1) |
| | | if (oldName != btnNote.Text) |
| | | { |
| | | bottomRowLayout.Y = Application.GetRealHeight(312); |
| | | bottomRowLayout.Height = Application.GetRealHeight(127); |
| | | btnName.Width = Application.GetRealWidth(0); |
| | | btnNextFrameLayout.Width = Application.GetRealWidth(0); |
| | | //所属区域 |
| | | var rowBeloneArea = new BelongAreaControl(0); |
| | | bottomRowLayout.AddChidren(rowBeloneArea); |
| | | //修改名字 |
| | | this.DeviceReName(btnNote.Text, false); |
| | | } |
| | | }; |
| | | |
| | | rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), doorLock); |
| | | //底线 |
| | | rowBeloneArea.AddBottomLine(); |
| | | rowBeloneArea.SelectRoomEvent += (roomKeys) => |
| | | //所属区域 |
| | | var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2); |
| | | listview.AddChidren(rowBeloneArea); |
| | | rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), this.listNewDevice); |
| | | //底线 |
| | | rowBeloneArea.AddBottomLine(); |
| | | |
| | | var listCheck = new List<string>(); |
| | | rowBeloneArea.SelectRoomEvent += (roomKeys) => |
| | | { |
| | | //选择未分配时,清空
|
| | | if (roomKeys == string.Empty) { listCheck = new List<string>(); } |
| | | foreach (var device in this.listNewDevice) |
| | | {
|
| | | if (roomKeys == string.Empty)
|
| | | {
|
| | | //如果选择的是未分配,则它的全部回路无条件全部清空房间
|
| | | HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
|
| | | continue;
|
| | | } |
| | | var room = HdlRoomLogic.Current.GetRoomByDevice(device); |
| | | string mainKeys = LocalDevice.Current.GetDeviceMainKeys(device); |
| | | if (room == null) |
| | | { |
| | | //变更房间 |
| | | Common.Room.CurrentRoom.ChangedRoom(doorLock, roomKeys); |
| | | }; |
| | | btnLine.Visible = false; |
| | | } |
| | | else if (i == 2) |
| | | { |
| | | bottomRowLayout.Y = Application.GetRealHeight(481); |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.BelongModel) + ":"; |
| | | btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58); |
| | | btnNextFrameLayout.X = Application.GetRealWidth(233); |
| | | |
| | | btnNext.TextAlignment = TextAlignment.CenterLeft; |
| | | btnNext.Height = Application.GetRealHeight(58); |
| | | btnNext.Text = doorLock.DeviceName; |
| | | btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; |
| | | |
| | | btnLine.Visible = true; |
| | | btnLine.Y = Application.GetRealHeight(575); |
| | | } |
| | | else if (i == 3) |
| | | { |
| | | bottomRowLayout.Y = Application.GetRealHeight(585 + 35); |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.TemporaryPassword); |
| | | |
| | | btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; |
| | | |
| | | btnLine.Visible = true; |
| | | btnLine.Y = Application.GetRealHeight(714); |
| | | } |
| | | else if (i == 4) |
| | | { |
| | | bottomRowLayout.Y = Application.GetRealHeight(723 + 35); |
| | | btnNext.X = Application.GetRealWidth(0); |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.RemotelyUnlock); |
| | | btnNext.Width = Application.GetRealWidth(104); |
| | | btnNext.Height = Application.GetRealHeight(63); |
| | | btnNext.UnSelectedImagePath = "DoorLock/Switch.png"; |
| | | btnNext.SelectedImagePath = "DoorLock/SwitchOn.png"; |
| | | btnLine.Visible = true; |
| | | btnLine.Y = Application.GetRealHeight(853); |
| | | if (doorLock.RemoteUnlockPassword == "") |
| | | //这里有点特殊,如果回路没有设置有区域的时候,才设置 |
| | | listCheck.Add(mainKeys); |
| | | HdlRoomLogic.Current.ChangedRoom(device, roomKeys); |
| | | } |
| | | else if (listCheck.Contains(mainKeys) == true) |
| | | { |
| | | btnNext.IsSelected = false; |
| | | //如果这个回路之前都还没有区域,在本界面还没有关闭之前,可以无条件随便变更 |
| | | HdlRoomLogic.Current.ChangedRoom(device, roomKeys); |
| | | } |
| | | } |
| | | //保存设备房间索引 |
| | | HdlRoomLogic.Current.SaveRealDeviceRoomId(this.listNewDevice, roomKeys); |
| | | }; |
| | | |
| | | //设备模块 |
| | | caption = Language.StringByID(R.MyInternationalizationString.BelongDevice); |
| | | deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice); |
| | | var btnType = new FrameCaptionViewControl(caption, deviceName, listview.rowSpace / 2); |
| | | btnType.UseClickStatu = false; |
| | | listview.AddChidren(btnType); |
| | | btnType.InitControl(); |
| | | //划线 |
| | | btnType.AddBottomLine(); |
| | | |
| | | //添加全部菜单 |
| | | this.AddAllMenuRow(); |
| | | FinishInitControl(bottomFrameLayout, this.listview); |
| | | //保存 |
| | | var btnFinish = new BottomClickButton(); |
| | | btnFinish.Y = Application.GetRealHeight(1054); |
| | | btnFinish.TextID = R.MyInternationalizationString.uSave; |
| | | bottomFrameLayout.AddChidren(btnFinish); |
| | | btnFinish.ButtonClickEvent += (sender, e) => |
| | | { |
| | | string oldName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]); |
| | | if (btnNote.Text.Trim() == string.Empty) |
| | | { |
| | | btnNote.Text = oldName; |
| | | } |
| | | if (oldName != btnNote.Text.Trim()) |
| | | { |
| | | //修改名字 |
| | | this.DeviceReName(btnNote.Text.Trim(), true); |
| | | } |
| | | else |
| | | { |
| | | //关闭自身 |
| | | this.CloseForm(); |
| | | } |
| | | }; |
| | | } |
| | | #endregion |
| | | |
| | | #region 添加全部菜单 |
| | | /// <summary> |
| | | /// 添加全部菜单 |
| | | /// </summary> |
| | | private void AddAllMenuRow() |
| | | { |
| | | if (UserCenterResourse.UserInfo.AuthorityNo == 1) |
| | | { |
| | | //添加【临时密码】行 |
| | | this.AddTempPasswordRow(); |
| | | //添加【远程开锁】行 |
| | | this.AddRemoteUnLocksRow(); |
| | | //添加【门锁时间】行 |
| | | this.AddDoorLocksTimeRow(); |
| | | } |
| | | else |
| | | { |
| | | //添加【远程开锁】行 |
| | | this.AddRemoteUnLocksRow(); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 临时密码 |
| | | /// <summary> |
| | | /// 临时密码 |
| | | /// </summary> |
| | | private void AddTempPasswordRow() |
| | | { |
| | | //用户管理 |
| | | string caption = Language.StringByID(R.MyInternationalizationString.TemporaryPassword); |
| | | var btnRow = new FrameRowControl(listview.rowSpace / 2); |
| | | listview.AddChidren(btnRow); |
| | | btnRow.AddLeftCaption(caption, 600); |
| | | //向右图标 |
| | | btnRow.AddRightArrow(); |
| | | //底线 |
| | | btnRow.AddBottomLine(); |
| | | btnRow.ButtonClickEvent += async (sender, e) => |
| | | { |
| | | action = async () => |
| | | { |
| | | var temporaryPassword = new Shared.Phone.UserCenter.DoorLock.TemporaryPassword(doorLock); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(temporaryPassword); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | temporaryPassword.Show(); |
| | | }; |
| | | actionNone = async () => |
| | | { |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock); |
| | | }; |
| | | HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone); |
| | | }; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 远程开锁 |
| | | /// <summary> |
| | | /// 添加【远程开锁】行(门锁专用) |
| | | /// </summary> |
| | | private void AddRemoteUnLocksRow() |
| | | { |
| | | //远程开锁 |
| | | string caption = Language.StringByID(R.MyInternationalizationString.uRemoteUnLocks); |
| | | var btnRow = new FrameRowControl(listview.rowSpace / 2); |
| | | btnRow.UseClickStatu = false; |
| | | listview.AddChidren(btnRow); |
| | | btnRow.AddLeftCaption(caption, 600); |
| | | //开关图标 |
| | | var btnswitch = btnRow.AddMostRightSwitchIcon(); |
| | | //底线 |
| | | btnRow.AddBottomLine(); |
| | | |
| | | var doorLock = (ZigBee.Device.DoorLock)listNewDevice[0]; |
| | | if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword) == false) |
| | | { |
| | | btnswitch.IsSelected = true; |
| | | } |
| | | |
| | | btnswitch.ButtonClickEvent += async (sender, e) => |
| | | { |
| | | if (UserCenterResourse.UserInfo.AuthorityNo == 1) |
| | | { |
| | | if (btnswitch.IsSelected == true) |
| | | { |
| | | btnswitch.IsSelected = false; |
| | | doorLock.RemoteUnlockPassword = string.Empty; |
| | | return; |
| | | } |
| | | var frame = new DoorLock.DoorLockCommonLayout(); |
| | | frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon); |
| | | frame = null; |
| | | } |
| | | else |
| | | { |
| | | var result = await Shared.Phone.UserCenter.DoorLock.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); |
| | | if (result1 == true) |
| | | { |
| | | if (btnswitch.IsSelected == true) |
| | | { |
| | | btnswitch.IsSelected = false; |
| | | doorLock.RemoteUnlockPassword = string.Empty; |
| | | return; |
| | | } |
| | | var frame = new DoorLock.DoorLockCommonLayout(); |
| | | frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon); |
| | | frame = null; |
| | | } |
| | | else |
| | | { |
| | | this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoAccess)); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | btnNext.IsSelected = true; |
| | | this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed)); |
| | | } |
| | | } |
| | | else if (i == 5) |
| | | }; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 门锁时间 |
| | | |
| | | /// <summary> |
| | | /// 添加【门锁时间】行(门锁专用) |
| | | /// </summary> |
| | | private void AddDoorLocksTimeRow() |
| | | { |
| | | //门锁时间 |
| | | string caption = Language.StringByID(R.MyInternationalizationString.uDoorLocksTime); |
| | | var btnRow = new FrameRowControl(listview.rowSpace / 2); |
| | | listview.AddChidren(btnRow); |
| | | btnRow.AddLeftCaption(caption, 600); |
| | | //向右图标 |
| | | btnRow.AddRightArrow(); |
| | | //底线 |
| | | btnRow.AddBottomLine(); |
| | | var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock; |
| | | btnRow.ButtonClickEvent += async (sender, e) => |
| | | { |
| | | if (UserCenterResourse.UserInfo.AuthorityNo == 1) |
| | | { |
| | | bottomRowLayout.Y = Application.GetRealHeight(861 + 35); |
| | | btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockTime); |
| | | btnNextFrameLayout.Y = btnName.Y; |
| | | btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; |
| | | btnLine.Visible = false; |
| | | btnLine.Y = Application.GetRealHeight(992); |
| | | var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime"); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | tempPage.Show(); |
| | | } |
| | | //else if (i == 6) |
| | | //{ |
| | | // bottomRowLayout.Y = Application.GetRealHeight(999 + 35); |
| | | // btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockShare); |
| | | // btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png"; |
| | | // btnLine.Visible = true; |
| | | // btnLine.Y = Application.GetRealHeight(1131); |
| | | //} |
| | | int currentIndex = i; |
| | | EventHandler<MouseEventArgs> eHandler = async (sender, e) => |
| | | { |
| | | if (currentIndex == 1) |
| | | { |
| | | //获取设备所属房间 |
| | | var aa = Common.Room.CurrentRoom.GetRoomByDevice(doorLock); |
| | | //获取设备所在楼层 |
| | | var bb = aa.FloorId; |
| | | //获取设备所在楼层 |
| | | var cc = aa.FloorId; |
| | | //获取楼层的名字 |
| | | var dd = Common.Config.Instance.Home.GetFloorNameById(cc); |
| | | //if (Common.Config.Instance.Home.FloorDics.Count == 0)//这个是无楼层模式 |
| | | else |
| | | { |
| | | var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); |
| | | if (result == false) |
| | | { |
| | | var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime"); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | tempPage.Show(); |
| | | } |
| | | else |
| | | { |
| | | this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed)); |
| | | } |
| | | } |
| | | }; |
| | | } |
| | | |
| | | var listCheck = new List<string>(); |
| | | } |
| | | else if (currentIndex == 3) |
| | | { |
| | | var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); |
| | | if (result == false) |
| | | { |
| | | var temporaryPassword = new Shared.Phone.UserCenter.DoorLock.TemporaryPassword(doorLock); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(temporaryPassword); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | temporaryPassword.Show(); |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | else if (currentIndex == 4) |
| | | { |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | { |
| | | var result = await Shared.Phone.UserCenter.DoorLock.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); |
| | | if (result1 == true) |
| | | { |
| | | btnNext.IsSelected = !btnNext.IsSelected; |
| | | if (btnNext.IsSelected) |
| | | { |
| | | if (doorLock.RemoteUnlockPassword == "") |
| | | { |
| | | RemotePasswordDialog(doorLock, btnNext); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | doorLock.RemoteUnlockPassword = ""; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoAccess), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | btnNext.IsSelected = !btnNext.IsSelected; |
| | | if (btnNext.IsSelected) |
| | | { |
| | | if (doorLock.RemoteUnlockPassword == "") |
| | | { |
| | | RemotePasswordDialog(doorLock, btnNext); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | doorLock.RemoteUnlockPassword = ""; |
| | | } |
| | | } |
| | | } |
| | | else if (currentIndex == 5) |
| | | { |
| | | var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); |
| | | if (result == false) |
| | | { |
| | | var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime"); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | tempPage.Show(); |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(this.btnTip); |
| | | } |
| | | } |
| | | }; |
| | | bottomRowLayout.MouseDownEventHandler += eHandler; |
| | | btnNext.MouseDownEventHandler += eHandler; |
| | | btnName.MouseDownEventHandler += eHandler; |
| | | btnNextFrameLayout.MouseDownEventHandler += eHandler; |
| | | #endregion |
| | | #region 设备重命名 |
| | | /// <summary> |
| | | /// 设备重命名 |
| | | /// </summary> |
| | | /// <param name="i_deviceName">deviceName.</param> |
| | | private void DeviceReName(string i_deviceName, bool closeForm) |
| | | { |
| | | //开启进度条 |
| | | this.ShowProgressBar(); |
| | | |
| | | //修改MAC名 |
| | | string deviceName = i_deviceName.Trim(); |
| | | var result = Common.LocalDevice.Current.ReMacName(listNewDevice, deviceName); |
| | | //关闭进度条 |
| | | this.CloseProgressBar(); |
| | | |
| | | if (result == false) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (devicNameAction != null) |
| | | { |
| | | devicNameAction(deviceName); |
| | | } |
| | | } |
| | | if (closeForm == true) |
| | | { |
| | | //关闭界面 |
| | | this.CloseForm(); |
| | | } |
| | | else |
| | | { |
| | | //设备备注修改成功! |
| | | string msg = Language.StringByID(R.MyInternationalizationString.uDeviceReNoteSuccess); |
| | | this.ShowMassage(ShowMsgType.Tip, msg); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | //保存 |
| | | //var btnFinifh = new Button() |
| | | //{ |
| | | // Width = Application.GetRealWidth(907), |
| | | // Height = Application.GetRealHeight(127), |
| | | // Y = Application.GetRealHeight(1472), |
| | | // Gravity = Gravity.CenterHorizontal, |
| | | // Radius = (uint)Application.GetRealHeight(127) / 2, |
| | | // TextID = R.MyInternationalizationString.Save, |
| | | // BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, |
| | | // TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, |
| | | // TextSize = 16, |
| | | //}; |
| | | //this.midFrameLayout.AddChidren(btnFinifh); |
| | | //btnFinish.MouseUpEventHandler += async (sender, e) => |
| | | //{ |
| | | // //记录起当前正在操作的回路名字 |
| | | // dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim(); |
| | | // //开启进度条 |
| | | // this.ShowProgressBar(); |
| | | // foreach (var epoint in dicDeviceSaveName.Keys) |
| | | // { |
| | | // var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint); |
| | | // if (device == null || dicDeviceSaveName[epoint] == string.Empty) |
| | | // { |
| | | // //不能允许空白名字 |
| | | // continue; |
| | | // } |
| | | // string newName = dicDeviceSaveName[epoint]; |
| | | // string oldName = Common.LocalDevice.Current.GetDeviceEpointName(device); |
| | | // if (oldName != newName) |
| | | // { |
| | | // //设备名称修改 |
| | | // var result = await Common.LocalDevice.Current.ReName(device, newName); |
| | | // if (result == false) |
| | | // { |
| | | // //关闭 |
| | | // this.CloseProgressBar(); |
| | | // return; |
| | | // } |
| | | // } |
| | | // } |
| | | // this.CloseProgressBar(); |
| | | // //关闭自身 |
| | | // this.CloseForm(); |
| | | //}; |
| | | } |
| | | #region 行数超过容器时,补一个空白FrameLayout |
| | | /// <summary> |
| | | /// 行数超过容器时,补一个空白FrameLayout,使之能滑动 |
| | | /// </summary> |
| | | void FinishInitControl(FrameLayout bodyFrameLayout, VerticalListControl listview) |
| | | { |
| | | if (listview.ChildrenCount > 0) |
| | | { |
| | | var realHeight = listview.GetChildren(0).Height * listview.ChildrenCount; |
| | | |
| | | #region ◆ 接口实现__________________________ |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | | /// <returns>The changed.</returns> |
| | | /// <param name="common">Common.</param> |
| | | public void Changed(CommonDevice common) |
| | | { |
| | | if (bodyFrameLayout.Height - Application.GetRealHeight(1054) + realHeight > listview.Height) |
| | | { |
| | | //促使被挡住的菜单能够向上滑动 |
| | | var frameTemp = new FrameLayout(); |
| | | frameTemp.Height = bodyFrameLayout.Height - Application.GetRealHeight(1054) + Application.GetRealHeight(115); |
| | | listview.AddChidren(frameTemp); |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | #region 移除方法 |
| | | /// <summary> |
| | | /// 处理变化事件 |
| | | /// 重写移除方法 |
| | | /// </summary> |
| | | /// <param name="common"></param> |
| | | /// <param name="typeTag"></param> |
| | | public void DeviceInfoChange(CommonDevice common, string typeTag) |
| | | public override void RemoveFromParent() |
| | | { |
| | | } |
| | | /// <summary> |
| | | /// Changeds the IL ogic status. |
| | | /// </summary> |
| | | /// <param name="logic">Logic.</param> |
| | | public void ChangedILogicStatus(ZigBee.Device.Logic logic) |
| | | { |
| | | } |
| | | /// <summary> |
| | | /// Changeds the IS cene status. |
| | | /// </summary> |
| | | /// <param name="scene">Scene.</param> |
| | | public void ChangedISceneStatus(Scene scene) |
| | | { |
| | | base.RemoveFromParent(); |
| | | } |
| | | #endregion |
| | | } |