| | |
| | | return m_Current;
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 当前选择的房间
|
| | | /// 当前主页选择的房间对象
|
| | | /// </summary>
|
| | | private Room m_CurrentRoom = null;
|
| | | public Room NowMainPageRoom = null;
|
| | | /// <summary>
|
| | | /// 当前选择的房间
|
| | | /// 当前分类选择的房间对象
|
| | | /// </summary>
|
| | | public Room CurrentRoom
|
| | | {
|
| | | get
|
| | | {
|
| | | if (m_CurrentRoom == null && dicRooms.Count > 0)
|
| | | {
|
| | | //设置初始值
|
| | | foreach (var room in dicRooms.Values)
|
| | | {
|
| | | m_CurrentRoom = room;
|
| | | break;
|
| | | }
|
| | | }
|
| | | return m_CurrentRoom;
|
| | | }
|
| | | set { m_CurrentRoom = value; }
|
| | | }
|
| | |
|
| | | public Room NowCategoryRoom = null;
|
| | | /// <summary>
|
| | | /// 所有的房间信息
|
| | | /// </summary>
|
| | |
| | | /// </summary>
|
| | | public void InitAllRoom()
|
| | | {
|
| | | this.NowMainPageRoom = null;
|
| | | this.NowCategoryRoom = null;
|
| | |
|
| | | //清空本地缓存
|
| | | this.dicRooms.Clear();
|
| | | //检测我的喜爱这个房间对象
|
| | |
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | MainPage.ListRoomViewFrom.Instance?.ShowForm();
|
| | | MainPage.ListRoomViewFrom.Instance?.RefreshListRoom();
|
| | | });
|
| | | }
|
| | |
|
| | |
| | | Global.DeleteFilebyHomeId(roomFilePath);
|
| | | }
|
| | | HdlAutoBackupLogic.DeleteFile(roomFilePath);
|
| | |
|
| | | //根据房间ID,移除指定的真实物理设备的所属房间记录
|
| | | Common.LocalDevice.Current.DeleteRealDeviceByRoomId(roomId);
|
| | |
|
| | | //刷新房间视图列表
|
| | | this.RefreshRoomListView();
|
| | | }
|
| | |
| | | {
|
| | | //从原来的房间移除设备
|
| | | this.DeleteDevice(device);
|
| | | //移除我的喜爱
|
| | | this.DeleteLoveDevice(device);
|
| | | //设备改变房间的话,主页需要重新刷新
|
| | | UserView.UserPage.Instance.RefreshForm = true;
|
| | | return;
|
| | | }
|
| | | //房间是否修改
|
| | |
| | | {
|
| | | return;
|
| | | }
|
| | | //从原来的房间移除设备
|
| | | this.DeleteDevice(device);
|
| | | //从原来的房间移除设备,这里不删除真实设备的房间
|
| | | this.DeleteDevice(device, false);
|
| | |
|
| | | //添加到新的房间
|
| | | var room = this.GetRoomById(roomId);
|
| | |
| | | {
|
| | | this.AddDevice(room, device, saveRealRoom);
|
| | | }
|
| | | //设备改变房间的话,主页需要重新刷新
|
| | | UserView.UserPage.Instance.RefreshForm = true;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | {
|
| | | return i_room.Name;
|
| | | }
|
| | | var floorName = Config.Instance.Home.GetFloorNameById(i_room.FloorId);
|
| | | var floorName = HdlResidenceLogic.Current.GetFloorNameById(i_room.FloorId);
|
| | | if (floorName == null)
|
| | | {
|
| | | return i_room.Name;
|
| | |
| | | /// 删除设备(这个函数不删除我的喜爱)
|
| | | /// </summary>
|
| | | /// <param name="device">要删除的设备对象</param>
|
| | | public void DeleteDevice(CommonDevice device)
|
| | | /// <param name="deleteReal">是否删除真实物理设备的房间</param>
|
| | | public void DeleteDevice(CommonDevice device, bool deleteReal = true)
|
| | | {
|
| | | if (device == null)
|
| | | {
|
| | | return;
|
| | | }
|
| | | //如果它只有一个回路
|
| | | if (deleteReal == true && LocalDevice.Current.GetDevicesCountByMac(device.DeviceAddr) == 1)
|
| | | {
|
| | | //删除掉它的真实物理设备的所在位置
|
| | | LocalDevice.Current.DeleteRealDeviceFromRoom(device);
|
| | | }
|
| | |
|
| | | //根据设备,获取所在的房间
|
| | | var room = this.GetRoomByDevice(device);
|
| | | if (room == null)
|
| | |
| | | HdlAutoBackupLogic.AddOrEditorFile(room.FileName);
|
| | |
|
| | | //递归:删除掉以前的旧数据导致的多个房间的问题
|
| | | this.DeleteDevice(device);
|
| | | this.DeleteDevice(device, deleteReal);
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | #region ■ 楼层和房间顺序相关_________________
|
| | |
|
| | | /// <summary>
|
| | | /// 根据楼层的主键获取排序后的房间列表(支持无楼层模式)
|
| | | /// 根据楼层的主键获取排序后的房间列表(支持无楼层模式,不获取收藏房间)
|
| | | /// </summary>
|
| | | /// <param name="i_floorKeys">楼层的主键</param>
|
| | | /// <param name="getShard">分享的房间是否也获取</param>
|