陈嘉乐
2020-04-27 18b93d511dc764b469d7c4a7e755f7274f89cdb4
ZigbeeApp/Shared/Common/House.cs
@@ -23,17 +23,14 @@
                return $"House_{Id}.json";
            }
        }
        /// <summary>
        /// 住宅id--使用云端提供的住宅唯一Id
        /// </summary>
        public string Id = string.Empty;
        /// <summary>
        /// 住宅名称
        /// </summary>
        public string Name = string.Empty;
        /// <summary>
        /// 是否为其他主用户分享过来的住宅
        /// </summary>
@@ -42,7 +39,10 @@
        /// 当前住宅是其他主帐号分享过来的主帐号的分布式Id
        /// </summary>
        public string MainUserDistributedMark;
        /// <summary>
        /// 该住宅是否是虚拟的,true的话代表网关和设备都是虚拟的(默认为false)
        /// </summary>
        public bool IsVirtually = false;
        /// <summary>
        /// 仅子账号登陆的时候使用,当【IsOthreShare】为"true",并且【AccountType】为"1"时,该账号拥有管理员权限
        /// </summary>
@@ -55,12 +55,14 @@
        /// 纬度
        /// </summary>
        public double Latitude = 0;
        /// <summary>
        /// 住宅所在的地理位置的名称
        /// </summary>
        public string ResidenceAddressName = string.Empty;
        /// <summary>
        /// 房间列表(房间的ID)
        /// </summary>
        public List<string> ListRooms = new List<string>();
        /// <summary>
        /// 楼层字典
        /// key:FloorId
@@ -71,27 +73,6 @@
        /// 当前楼层Id
        /// </summary>
        public string CurrentFloorId = string.Empty;
        /// <summary>
        /// 全局场景路径列表---备用
        /// </summary>
        public List<string> SceneFilePathList = new List<string> { };
        /// <summary>
        /// 设备路径列表---备用
        /// </summary>
        public List<string> DeviceFilePathList = new List<string> { };
        /// <summary>
        /// 功能路径列表---备用
        /// </summary>
        public List<string> FunctionFilePathList = new List<string> { };
        /// <summary>
        /// 通用标识--备用
        /// </summary>
        public object Tag;
        /// <summary>
        /// 期、栋、层等区域---备用
        /// </summary>
        public Dictionary<string, string> LocationInfoList = new Dictionary<string, string> { };
        #endregion
@@ -278,11 +259,7 @@
                    {
                        //清空当前住宅列表
                        Config.Instance.HomeFilePathList.Clear();
                        if (Config.Instance.HomeId == string.Empty && responseDataObj.PageData.Count > 0)
                        {
                            //赋一个初始值
                            Config.Instance.HomeId = responseDataObj.PageData[0].Id;
                        }
                        var listHouse = new List<House>();
                        foreach (var residence in responseDataObj.PageData)
                        {
                            Config.Instance.HomeFilePathList.Add($"House_{residence.Id}.json");
@@ -312,11 +289,23 @@
                            }
                            Global.CreateHomeDirectory(residence.Id);
                            house.Save(false);
                            listHouse.Add(house);
                        }
                        //匹配当前住宅
                        if (Config.Instance.HomeFilePathList.Find((obj) => obj == $"House_{Config.Instance.HomeId}.json") == null)
                        //如果切换了账号,或者原来的id不存在,则重置住宅ID
                        if (UserCenterResourse.ResidenceOption.TheSameLoginAccount == false ||
                            Config.Instance.HomeFilePathList.Find((obj) => obj == $"House_{Config.Instance.HomeId}.json") == null)
                        {
                            Config.Instance.HomeId = GetHouseIdByFilePath(Config.Instance.HomeFilePathList[0]);
                            Config.Instance.HomeId = listHouse[0].Id;
                            foreach (var house in listHouse)
                            {
                                //初始选择它自己的住宅
                                if (house.IsOthreShare == false)
                                {
                                    Config.Instance.HomeId = house.Id;
                                    Config.Instance.Home = House.GetHouseByHouseId(house.Id);
                                    break;
                                }
                            }
                        }
                        Config.Instance.Save();
                    }
@@ -431,7 +420,7 @@
        {
            if (Config.Instance.Home.FloorDics.Count == 0)
            {
                return null;
                return string.Empty;
            }
            foreach (var floor in Config.Instance.Home.FloorDics)
@@ -440,8 +429,8 @@
                {
                    return floor.Value;
                }
            }
            return null;
            }
            return string.Empty;
        }
        /// <summary>