| | |
| | | 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 变量申明 |
| | | public ZigBee.Device.DoorLock doorLock = null; |
| | | /// <summary> |
| | | /// 当前房间 |
| | | /// </summary> |
| | | Room currentRoom; |
| | | /// <summary> |
| | | /// 设备UI对象 |
| | | /// </summary> |
| | | CommonDevice deviceUI; |
| | | /// <summary> |
| | | /// 设备需要保存的设备名字 |
| | | /// </summary> |
| | |
| | | #endregion |
| | | |
| | | #region UI显示 |
| | | /// <summary>
|
| | | /// UI显示 |
| | | /// <summary> |
| | | /// UI显示 |
| | | /// </summary> |
| | | public void Show() |
| | | { |
| | |
| | | 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(); |
| | | //划线 |
| | |
| | | var listCheck = new List<string>(); |
| | | rowBeloneArea.SelectRoomEvent += (roomKeys) => |
| | | { |
| | | //选择未分配时,清空 |
| | | if (roomKeys == string.Empty) { listCheck = new List<string>(); } |
| | | foreach (var device in this.listNewDevice) |
| | | { |
| | | var room = Room.CurrentRoom.GetRoomByDevice(device); |
| | | 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) |
| | | { |
| | | //这里有点特殊,如果回路没有设置有区域的时候,才设置 |
| | | listCheck.Add(mainKeys); |
| | | Room.CurrentRoom.ChangedRoom(device, roomKeys); |
| | | HdlRoomLogic.Current.ChangedRoom(device, roomKeys); |
| | | } |
| | | else if (listCheck.Contains(mainKeys) == true) |
| | | { |
| | | //如果这个回路之前都还没有区域,在本界面还没有关闭之前,可以无条件随便变更 |
| | | Room.CurrentRoom.ChangedRoom(device, roomKeys); |
| | | HdlRoomLogic.Current.ChangedRoom(device, roomKeys); |
| | | } |
| | | } |
| | | //保存设备房间索引 |
| | | Common.LocalDevice.Current.SaveRealDeviceRoomId(this.listNewDevice, roomKeys); |
| | | HdlRoomLogic.Current.SaveRealDeviceRoomId(this.listNewDevice, roomKeys); |
| | | }; |
| | | |
| | | //设备模块 |
| | | caption = Language.StringByID(R.MyInternationalizationString.BelongModel); |
| | | caption = Language.StringByID(R.MyInternationalizationString.BelongDevice); |
| | | deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice); |
| | | var btnType = new FrameCaptionViewControl(caption, deviceName, listview.rowSpace / 2); |
| | | btnType.UseClickStatu = false; |
| | |
| | | }; |
| | | actionNone = async () => |
| | | { |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock, action); |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock); |
| | | }; |
| | | HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone); |
| | | }; |
| | |
| | | /// 设备重命名 |
| | | /// </summary> |
| | | /// <param name="i_deviceName">deviceName.</param> |
| | | private async void DeviceReName(string i_deviceName, bool closeForm) |
| | | private void DeviceReName(string i_deviceName, bool closeForm) |
| | | { |
| | | //开启进度条 |
| | | this.ShowProgressBar(); |
| | | |
| | | //修改MAC名 |
| | | string deviceName = i_deviceName.Trim(); |
| | | var result = await Common.LocalDevice.Current.ReMacName(listNewDevice, deviceName); |
| | | var result = Common.LocalDevice.Current.ReMacName(listNewDevice, deviceName); |
| | | //关闭进度条 |
| | | this.CloseProgressBar(); |
| | | |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 接口实现 |
| | | #region 移除方法 |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// 重写移除方法 |
| | | /// </summary> |
| | | /// <returns>The changed.</returns> |
| | | /// <param name="common">Common.</param> |
| | | public void Changed(CommonDevice common) |
| | | public override void RemoveFromParent() |
| | | { |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 处理变化事件 |
| | | /// </summary> |
| | | /// <param name="common"></param> |
| | | /// <param name="typeTag"></param> |
| | | public void DeviceInfoChange(CommonDevice common, string typeTag) |
| | | { |
| | | } |
| | | /// <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 |
| | | } |