| | |
| | | /// </summary>
|
| | | /// <param name="residenceId"></param>
|
| | | /// <returns></returns>
|
| | | public void SwitchResidence(string residenceId)
|
| | | public bool SwitchResidence(string residenceId)
|
| | | {
|
| | | //打开进度条
|
| | | ProgressBar.Show();
|
| | |
| | | Config.Instance.Home = this.GetHouseByHouseId(residenceId);
|
| | | Config.Instance.Save();
|
| | | //刷新个人中心的内存及线程
|
| | | UserCenterLogic.InitUserCenterMenmoryAndThread(false);
|
| | | bool result = UserCenterLogic.InitUserCenterMenmoryAndThread(false);
|
| | |
|
| | | //关闭进度条
|
| | | ProgressBar.Close();
|
| | |
|
| | | return result;
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | /// <summary>
|
| | | /// 获取云端住宅列表
|
| | | /// </summary>
|
| | | public List<string> GetHomeListsFromDb()
|
| | | /// <param name="checkNetwork">是否检测网络,如果设置检测的话,当不能联网时,直接返回本地住宅</param>
|
| | | /// <returns></returns>
|
| | | public List<string> GetHomeListsFromDb(bool checkNetwork)
|
| | | {
|
| | | if (HdlWifiLogic.Current.CanAccessHttp == false)
|
| | | if (checkNetwork == true && HdlWifiLogic.Current.CanAccessHttp == false)
|
| | | {
|
| | | //当前无法联网
|
| | | return Config.Instance.HomeFilePathList;
|
| | |
| | | try
|
| | | {
|
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
|
| | | var revertObj = CommonPage.Instance.RequestHttpsZigbeeAsync("App/GetHomePager", System.Text.Encoding.UTF8.GetBytes(requestJson));
|
| | | var revertObj = CommonPage.Instance.RequestHttpsZigbeeAsync("App/GetHomePager", System.Text.Encoding.UTF8.GetBytes(requestJson), 5);
|
| | | if (revertObj == null)
|
| | | {
|
| | | return null;
|
| | |
| | | house.Save(false);
|
| | | listHouse.Add(house);
|
| | | }
|
| | | //检测本地的住宅文件是否合法
|
| | | var listLocal = this.GetAllLocalResidenceListByDirectory();
|
| | | foreach (var myHouse in listLocal)
|
| | | {
|
| | | //如果本地存在不属于他的住宅文件,则删除
|
| | | if (myHouse.HouseDataDiv == 1 && Config.Instance.HomeFilePathList.Contains(myHouse.FileName) == false)
|
| | | {
|
| | | string housePath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, myHouse.Id);
|
| | | HdlFileLogic.Current.DeleteDirectory(housePath);
|
| | | }
|
| | | }
|
| | | //如果切换了账号,或者原来的id不存在,则重置住宅ID
|
| | | if (Config.Instance.TheSameLoginAccount == false ||
|
| | | Config.Instance.HomeFilePathList.Find((obj) => obj == $"House_{Config.Instance.HomeId}.json") == null)
|
| | | Config.Instance.HomeFilePathList.Contains($"House_{Config.Instance.HomeId}.json") == false)
|
| | | {
|
| | | Config.Instance.HomeId = listHouse[0].Id;
|
| | | foreach (var house in listHouse)
|
| | | if (listHouse.Count > 0)
|
| | | {
|
| | | //初始选择它自己的住宅
|
| | | if (house.IsOthreShare == false)
|
| | | {
|
| | | Config.Instance.HomeId = house.Id;
|
| | | Config.Instance.Home = GetHouseByHouseId(house.Id);
|
| | | break;
|
| | | }
|
| | | Config.Instance.HomeId = listHouse[0].Id;
|
| | | Config.Instance.Home = GetHouseByHouseId(listHouse[0].Id);
|
| | | }
|
| | | }
|
| | | Config.Instance.Save();
|