| | |
| | | /// <param name="div">1:先读取云端,无法联网,再读取本地 2:只读云端 3:只读本地</param>
|
| | | private void SetResidenceInfo(int div)
|
| | | {
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | //虚拟住宅的话,只读本地
|
| | | if (div == 3 || Config.Instance.Home.IsVirtually == true)
|
| | |
| | | //开启进度条
|
| | | this.ShowProgressBar();
|
| | | //设置住宅信息(有网情况)
|
| | | var result = await this.SetResidenceInfoByOnline();
|
| | | var result = this.SetResidenceInfoByOnline();
|
| | | if (result == true)
|
| | | {
|
| | | //云端读取成功
|
| | |
| | | /// <summary>
|
| | | /// 设置住宅信息(有网情况)
|
| | | /// </summary>
|
| | | private async System.Threading.Tasks.Task<bool> SetResidenceInfoByOnline()
|
| | | private bool SetResidenceInfoByOnline()
|
| | | {
|
| | | //获取住宅信息
|
| | | var Pra = new GetResidenceInfoPra();
|
| | | var listNotCheck = new List<string>() { "NotSetAgain" };
|
| | | string resultData = await UserCenterLogic.GetResponseDataByRequestHttps("App/GetHomePager", false, Pra, listNotCheck);
|
| | | if (resultData == null)
|
| | | string resultData = UserCenterLogic.GetResponseDataByRequestHttps("App/GetHomePager", false, Pra, new List<string> { "NotCheck" }, false);
|
| | | if (string.IsNullOrEmpty(resultData) == true)
|
| | | {
|
| | | return false;
|
| | | }
|
| | | var pageData = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResidenceRes>(resultData);
|
| | |
|
| | | //暂时存储数据
|
| | | var dicData = new Dictionary<string, Common.ResponseEntity.ResidenceObj>();
|
| | | var listResidenceSort = new List<string>();
|
| | | for (int i = 0; i < pageData.PageData.Count; i++)
|
| | | {
|
| | | dicData[pageData.PageData[i].Id] = pageData.PageData[i];
|
| | | listResidenceSort.Add(pageData.PageData[i].Id);
|
| | | }
|
| | | //排序住宅
|
| | | var listHouse = HdlResidenceLogic.Current.SortHouse(pageData.PageData);
|
| | |
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | |
| | | listView.Height = bodyFrameLayout.Height;
|
| | |
|
| | | this.dicResidenceData = new Dictionary<string, Common.ResponseEntity.ResidenceObj>();
|
| | | for (int i = 0; i < listResidenceSort.Count; i++)
|
| | | for (int i = 0; i < listHouse.Count; i++)
|
| | | {
|
| | | if (dicData.ContainsKey(listResidenceSort[i]) == false)
|
| | | {
|
| | | continue;
|
| | | }
|
| | | var info = dicData[listResidenceSort[i]];
|
| | | var info = listHouse[i];
|
| | |
|
| | | //收集该账号住宅的数据
|
| | | this.dicResidenceData[info.Id] = info;
|
| | | //添加住宅的行(有网情况)
|
| | | this.AddRowLayoutByOnline(info, i != listResidenceSort.Count - 1);
|
| | | this.AddRowLayoutByOnline(info, i != listHouse.Count - 1);
|
| | | }
|
| | | //调整列表控件的高度
|
| | | this.listView.AdjustRealHeight(Application.GetRealHeight(23));
|
| | |
| | | }
|
| | | this.ShowMassage(ShowMsgType.Confirm, msg, () =>
|
| | | {
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | //开启进度条
|
| | | this.ShowProgressBar();
|
| | |
| | | //检测本地有没有这个住宅
|
| | | this.CheckIsExsitResidence(info);
|
| | |
|
| | | await HdlResidenceLogic.Current.SwitchResidence(info.Id);
|
| | | var result = HdlResidenceLogic.Current.SwitchResidence(info.Id);
|
| | |
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //重新刷新列表
|
| | | this.listView.RemoveAll();
|
| | | this.SetResidenceInfo(2);
|
| | | if (result == true)
|
| | | {
|
| | | //重新刷新列表
|
| | | this.listView.RemoveAll();
|
| | | this.SetResidenceInfo(2);
|
| | | }
|
| | | //关闭进度条
|
| | | this.CloseProgressBar();
|
| | | });
|
| | |
| | | //分享的,不能更改
|
| | | return;
|
| | | }
|
| | | //过户
|
| | | var btnTransfer = rowLayout.AddDeleteControl();
|
| | | btnTransfer.TextID = R.MyInternationalizationString.uTransfer;
|
| | | btnTransfer.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | var form = new TransferResidenceMainForm();
|
| | | form.AddForm();
|
| | | };
|
| | | //更改
|
| | | var btnChanged = rowLayout.AddEditorControl();
|
| | | btnChanged.TextID = R.MyInternationalizationString.uChanged1;
|
| | |
| | | }
|
| | | this.ShowMassage(ShowMsgType.Confirm, msg, () =>
|
| | | {
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | await HdlResidenceLogic.Current.SwitchResidence(i_home.Id);
|
| | | var result = HdlResidenceLogic.Current.SwitchResidence(i_home.Id);
|
| | |
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //重新刷新列表
|
| | | this.listView.RemoveAll();
|
| | | this.SetResidenceInfo(3);
|
| | | if (result == true)
|
| | | {
|
| | | //重新刷新列表
|
| | | this.listView.RemoveAll();
|
| | | this.SetResidenceInfo(3);
|
| | | }
|
| | | //关闭进度条
|
| | | this.CloseProgressBar();
|
| | | });
|
| | |
| | | form.AddForm(flage);
|
| | | }
|
| | | };
|
| | | //更改
|
| | | var btnChanged = rowLayout.AddEditorControl();
|
| | | btnChanged.TextID = R.MyInternationalizationString.uChanged1;
|
| | | btnChanged.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //显示编辑名称界面
|
| | | this.ShowEditorNameForm(null, i_home, btnHome);
|
| | | };
|
| | | ////更改
|
| | | //var btnChanged = rowLayout.AddEditorControl();
|
| | | //btnChanged.TextID = R.MyInternationalizationString.uChanged1;
|
| | | //btnChanged.ButtonClickEvent += (sender, e) =>
|
| | | //{
|
| | | // //显示编辑名称界面
|
| | | // this.ShowEditorNameForm(null, i_home, btnHome);
|
| | | //};
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | if (info != null)
|
| | | {
|
| | | //编辑云端的住宅名称
|
| | | this.EditorResidenceName(textValue, info, btnHome);
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | this.EditorResidenceName(textValue, info, btnHome);
|
| | | });
|
| | | }
|
| | | else
|
| | | {
|
| | |
| | | /// <param name="ResidenceName"></param>
|
| | | /// <param name="info"></param>
|
| | | /// <returns></returns>
|
| | | private async void EditorResidenceName(string ResidenceName, Common.ResponseEntity.ResidenceObj info, NormalViewControl btnHome)
|
| | | private void EditorResidenceName(string ResidenceName, Common.ResponseEntity.ResidenceObj info, NormalViewControl btnHome)
|
| | | {
|
| | | //检测能否保存住宅
|
| | | if (this.CheckIsCanSaveResidence(info.Id, ResidenceName, true) == false)
|
| | |
| | | //开启进度条
|
| | | this.ShowProgressBar();
|
| | |
|
| | | var Pra = new EditorResidencePra();
|
| | | Pra.HomeId = info.Id;
|
| | | Pra.Name = ResidenceName;
|
| | | Pra.IsOtherAccountCtrl = false;
|
| | | Pra.LoginAccessToken = Config.Instance.Token;
|
| | | var result = HdlResidenceLogic.Current.EditorResidenceName(info.Id, ResidenceName);
|
| | |
|
| | | //编辑住宅
|
| | | bool flage = await UserCenterLogic.GetResultStatuByRequestHttps("App/EditHome", false, Pra);
|
| | | //关闭进度条
|
| | | this.CloseProgressBar();
|
| | |
|
| | | if (flage == true)
|
| | | if (result == true)
|
| | | {
|
| | | //刷新内存的住宅名
|
| | | HdlResidenceLogic.Current.EditorHouseByHouseId(info.Id, ResidenceName);
|
| | | //更改显示的名字
|
| | | btnHome.Text = ResidenceName;
|
| | | info.Name = ResidenceName;
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //刷新内存的住宅名
|
| | | HdlResidenceLogic.Current.EditorHouseByHouseId(info.Id, ResidenceName);
|
| | | //更改显示的名字
|
| | | btnHome.Text = ResidenceName;
|
| | | info.Name = ResidenceName;
|
| | | });
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | dialogForm.CloseDialog();
|
| | |
|
| | | //保存住宅
|
| | | this.AddNewResidence(textValue);
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | this.AddNewResidence(textValue);
|
| | | });
|
| | | });
|
| | | }
|
| | |
|
| | |
| | | /// </summary>
|
| | | /// <param name="ResidenceName"></param>
|
| | | /// <returns></returns>
|
| | | private async void AddNewResidence(string ResidenceName)
|
| | | private void AddNewResidence(string ResidenceName)
|
| | | {
|
| | | //检测能否保存住宅
|
| | | if (this.CheckIsCanSaveResidence(string.Empty, ResidenceName, false) == false)
|
| | |
| | | var Pra = new AddResidencePra();
|
| | | Pra.Name = ResidenceName;
|
| | | //添加住宅
|
| | | string resultData = await UserCenterLogic.GetResponseDataByRequestHttps("App/AddHome", false, Pra);
|
| | | if (resultData == null)
|
| | | string resultData = UserCenterLogic.GetResponseDataByRequestHttps("App/AddHome", false, Pra);
|
| | | if (string.IsNullOrEmpty(resultData) == true)
|
| | | {
|
| | | //关闭进度条
|
| | | this.CloseProgressBar();
|
| | |
| | | var newInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<NewResidenceInfo>>(resultData);
|
| | |
|
| | | HdlResidenceLogic.Current.AddHouseToMemmory(newInfo[0].Id, ResidenceName);
|
| | | //重新刷新列表
|
| | | this.listView.RemoveAll();
|
| | | this.SetResidenceInfo(2);
|
| | |
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //重新刷新列表
|
| | | this.listView.RemoveAll();
|
| | | this.SetResidenceInfo(2);
|
| | | });
|
| | |
|
| | | }
|
| | |
|
| | | #endregion
|