| | |
| | | using Shared.Common;
|
| | | using System;
|
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using System.Text;
|
| | |
|
| | | namespace Shared.Phone.UserCenter.Residence
|
| | | {
|
| | | /// <summary>
|
| | | /// 住宅管理的画面★
|
| | | /// 住宅管理界面
|
| | | /// </summary>
|
| | | public class ResidenceManagementForm : EditorCommonForm
|
| | | {
|
| | |
| | | /// <summary>
|
| | | /// 列表控件
|
| | | /// </summary>
|
| | | private VerticalScrolViewLayout listView = null;
|
| | | private VerticalListControl listView = null;
|
| | | /// <summary>
|
| | | /// 住宅数据
|
| | | /// 列表控件最大高度
|
| | | /// </summary>
|
| | | private Dictionary<string, Common.ResponseEntity.ResidenceObj> dicResidenceData = null;
|
| | | private int MaxListViewHeight = 0;
|
| | | /// <summary>
|
| | | /// 楼层顺序
|
| | | /// </summary>
|
| | | private List<string> listFloorSort = new List<string>();
|
| | |
|
| | | #endregion
|
| | |
|
| | |
| | | /// <summary>
|
| | | /// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
| | | /// </summary>
|
| | | public void ShowForm()
|
| | | /// <param name="i_CanDeleteResidence">能否删除当前住宅</param>
|
| | | public void ShowForm(bool i_CanDeleteResidence)
|
| | | {
|
| | | //设置标题信息
|
| | | base.SetTitleText(Language.StringByID(R.MyInternationalizationString.ResidenceManagement));
|
| | | //设置头部信息
|
| | | base.SetTitleText(Common.Config.Instance.Home.Name);
|
| | |
|
| | | if (UserCenterResourse.UserInfo.AuthorityNo == 1)
|
| | | //判断能否删除住宅
|
| | | if (i_CanDeleteResidence == true)
|
| | | {
|
| | | //右上添加按钮
|
| | | var btnTopIcon = new MostRightIconControl(69, 69);
|
| | | btnTopIcon.UnSelectedImagePath = "Item/Add.png";
|
| | | topFrameLayout.AddChidren(btnTopIcon);
|
| | | btnTopIcon.InitControl();
|
| | | btnTopIcon.ButtonClickEvent += (sender, e) =>
|
| | | //初始化右上角菜单
|
| | | this.InitTopRightMenu();
|
| | | }
|
| | | //初始化中部信息
|
| | | this.InitMiddleFrame();
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 初始化中部信息
|
| | | /// </summary>
|
| | | private void InitMiddleFrame()
|
| | | {
|
| | | //清空bodyFrame
|
| | | this.ClearBodyFrame();
|
| | |
|
| | | var frameHome = new FrameRowControl();
|
| | | frameHome.Height = Application.GetRealHeight(173);
|
| | | frameHome.BackgroundColor = UserCenterColor.Current.White;
|
| | | bodyFrameLayout.AddChidren(frameHome);
|
| | |
|
| | | var btnAdreeIcon = frameHome.AddLeftIcon(81);
|
| | | btnAdreeIcon.UnSelectedImagePath = "Item/FixedPositionSelected.png";
|
| | |
|
| | | //住宅名称
|
| | | var btnHomeName = frameHome.AddLeftCaption(Common.Config.Instance.Home.Name, 700, 60);
|
| | | btnHomeName.TextSize = 15;
|
| | | btnHomeName.Y = Application.GetRealHeight(35);
|
| | | frameHome.AddChidren(btnHomeName, ChidrenBindMode.BindEventOnly);
|
| | | //当前住宅
|
| | | var btnNowView = frameHome.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNowResidence), 700, 49);
|
| | | btnNowView.TextSize = 12;
|
| | | btnNowView.Y = Application.GetRealHeight(95);
|
| | | btnNowView.TextColor = UserCenterColor.Current.TextGrayColor1;
|
| | | frameHome.AddChidren(btnNowView, ChidrenBindMode.BindEventOnly);
|
| | | //右箭头
|
| | | frameHome.AddRightArrow();
|
| | |
|
| | | var frameFloor = new FrameRowControl();
|
| | | frameFloor.UseClickStatu = false;
|
| | | frameFloor.Y = frameHome.Bottom + Application.GetRealHeight(23);
|
| | | frameFloor.Height = Application.GetRealHeight(115);
|
| | | frameFloor.BackgroundColor = UserCenterColor.Current.White;
|
| | | bodyFrameLayout.AddChidren(frameFloor);
|
| | |
|
| | | //楼层
|
| | | var btnFloor = frameFloor.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uFloor), 200, 60);
|
| | | btnFloor.Y = Application.GetRealHeight(49);
|
| | | btnFloor.TextColor = UserCenterColor.Current.TextColor2;
|
| | | btnFloor.TextSize = 15;
|
| | | frameFloor.AddChidren(btnFloor, ChidrenBindMode.NotBind);
|
| | | if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
|
| | | {
|
| | | //添加楼层
|
| | | var btnAddFloor = frameFloor.AddMostRightEmptyIcon(69, 69);
|
| | | frameFloor.ChangedChidrenBindMode(btnAddFloor, ChidrenBindMode.NotBind);
|
| | | btnAddFloor.Y = Application.GetRealHeight(46);
|
| | | btnAddFloor.UnSelectedImagePath = "Item/Add.png";
|
| | | btnAddFloor.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //var info = new Common.ResponseEntity.ResidenceObj();
|
| | | //this.ShowEditorForm(info);
|
| | | //创建楼层
|
| | | this.CreatOrEditorFloor(string.Empty, string.Empty);
|
| | | };
|
| | | }
|
| | |
|
| | | //初始化中部控件
|
| | | //this.InitMiddleFrame();
|
| | | this.MaxListViewHeight = bodyFrameLayout.Height - frameFloor.Bottom;
|
| | | listView = new VerticalListControl(29);
|
| | | listView.BackgroundColor = UserCenterColor.Current.White;
|
| | | listView.Y = frameFloor.Bottom;
|
| | | listView.Height = MaxListViewHeight;
|
| | | bodyFrameLayout.AddChidren(listView);
|
| | |
|
| | | //初始化楼层行
|
| | | this.InitFloorRow();
|
| | | }
|
| | |
|
| | | ///// <summary>
|
| | | ///// 初始化中部控件
|
| | | ///// </summary>
|
| | | //private void InitMiddleFrame()
|
| | | //{
|
| | | // //清空bodyFrame
|
| | | // this.ClearBodyFrame();
|
| | | /// <summary>
|
| | | /// 初始化楼层行
|
| | | /// </summary>
|
| | | private void InitFloorRow()
|
| | | {
|
| | | //获取楼层
|
| | | var dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
|
| | | this.listFloorSort.Clear();
|
| | | foreach (string keys in dicFloor.Keys)
|
| | | {
|
| | | listFloorSort.Add(keys);
|
| | | }
|
| | |
|
| | | // listView = new VerticalScrolViewLayout();
|
| | | // listView.Height = bodyFrameLayout.Height;
|
| | | // bodyFrameLayout.AddChidren(listView);
|
| | |
|
| | | // new System.Threading.Thread(() =>
|
| | | // {
|
| | | // //设置住宅信息
|
| | | // this.SetResidenceInfo();
|
| | | // })
|
| | | // { IsBackground = true }.Start();
|
| | | //}
|
| | |
|
| | | ///// <summary>
|
| | | ///// 设置住宅信息
|
| | | ///// </summary>
|
| | | //private async void SetResidenceInfo()
|
| | | //{
|
| | | // //开启进度条
|
| | | // this.ShowProgressBar();
|
| | |
|
| | | // Application.RunOnMainThread(() =>
|
| | | // {
|
| | | // this.listView?.RemoveAll();
|
| | | // });
|
| | | // //获取住宅信息
|
| | | // var Pra = new GetResidenceInfoPra();
|
| | | // string resultData = await UserCenterLogic.GetResponseDataByRequestHttps("App/GetHomePager", false, Pra);
|
| | | // if (resultData == null)
|
| | | // {
|
| | | // //关闭进度条
|
| | | // this.CloseProgressBar(ShowReLoadMode.YES);
|
| | | // return;
|
| | | // }
|
| | | // this.dicResidenceData = new Dictionary<string, Common.ResponseEntity.ResidenceObj>();
|
| | |
|
| | | // var pageData = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResidenceRes>(resultData);
|
| | | // foreach (Common.ResponseEntity.ResidenceObj info in pageData.PageData)
|
| | | // {
|
| | | // if (info.IsOthreShare == false)
|
| | | // {
|
| | | // //收集该账号所拥有的自己的住宅的数据
|
| | | // this.dicResidenceData[info.Id] = info;
|
| | | // }
|
| | |
|
| | | // Application.RunOnMainThread(() =>
|
| | | // {
|
| | | // if (this.Parent != null)
|
| | | // {
|
| | | // this.AddRowLayout(info);
|
| | | // }
|
| | | // });
|
| | | // }
|
| | | // //关闭进度条
|
| | | // this.CloseProgressBar();
|
| | | //}
|
| | | listView.Height = MaxListViewHeight;
|
| | | listView.RemoveAll();
|
| | | if (Common.Config.Instance.Home.FloorDics.Count == 0)
|
| | | {
|
| | | return;
|
| | | }
|
| | | HdlThreadLogic.Current.RunMainInThread(() =>
|
| | | {
|
| | | int count = listFloorSort.Count - 1;
|
| | | for (int i = 0; i < listFloorSort.Count; i++)
|
| | | {
|
| | | string keys = listFloorSort[i];
|
| | | this.AddFloorRow(keys, dicFloor[keys], i != count);
|
| | | }
|
| | | //调整控件高度
|
| | | listView.AdjustRealHeight(Application.GetRealHeight(23));
|
| | | });
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | //#region ■ 添加住宅的行_______________________
|
| | | #region ■ 添加楼层行_________________________
|
| | |
|
| | | ///// <summary>
|
| | | ///// 添加住宅的行
|
| | | ///// </summary>
|
| | | ///// <param name="info"></param>
|
| | | //private void AddRowLayout(Common.ResponseEntity.ResidenceObj info)
|
| | | //{
|
| | | // if (info.IsOthreShare == true)
|
| | | // {
|
| | | // return;
|
| | | // }
|
| | | // var rowLayout = new RowLayout();
|
| | | // rowLayout.Height = ControlCommonResourse.ListViewRowHeight;
|
| | | // this.listView.AddChidren(rowLayout);
|
| | | /// <summary>
|
| | | /// 添加楼层行
|
| | | /// </summary>
|
| | | /// <param name="keys"></param>
|
| | | /// <param name="floorName"></param>
|
| | | /// <param name="addLine"></param>
|
| | | private void AddFloorRow(string keys, string floorName, bool addLine)
|
| | | {
|
| | | var frameRow = new RowLayoutControl(listView.rowSpace / 2);
|
| | | this.listView.AddChidren(frameRow);
|
| | | //图标
|
| | | var btnIcon = frameRow.frameTable.AddLeftIcon(81);
|
| | | btnIcon.UnSelectedImagePath = "Floor/FloorSelected.png";
|
| | | //楼层名称
|
| | | var btnFloor = frameRow.frameTable.AddLeftCaption(floorName, 500);
|
| | | btnFloor.TextSize = 15;
|
| | | //向右箭头
|
| | | frameRow.frameTable.AddRightArrow();
|
| | | if (addLine == true)
|
| | | {
|
| | | frameRow.frameTable.AddBottomLine();
|
| | | }
|
| | | frameRow.frameTable.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | var form = new FloorListRoomForm();
|
| | | form.AddForm(keys);
|
| | | };
|
| | |
|
| | | // //图标
|
| | | // var btnIcon = new RowLeftIconView();
|
| | | // btnIcon.ChangedControlInPointMode();
|
| | | // rowLayout.AddChidren(btnIcon);
|
| | | if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
|
| | | {
|
| | | //更改
|
| | | var btnChanged = new NormalViewControl(Application.GetRealWidth(184), frameRow.Height, false);
|
| | | btnChanged.BackgroundColor = 0xff4a4a4a;
|
| | | btnChanged.TextSize = 12;
|
| | | btnChanged.TextColor = UserCenterColor.Current.White;
|
| | | btnChanged.TextAlignment = TextAlignment.Center;
|
| | | btnChanged.TextID = R.MyInternationalizationString.uChanged1;
|
| | | frameRow.AddRightView(btnChanged);
|
| | | btnChanged.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //创建或者编辑楼层
|
| | | this.CreatOrEditorFloor(keys, floorName);
|
| | | };
|
| | |
|
| | | // //住宅
|
| | | // var txtResidence = new RowCenterView(true);
|
| | | // txtResidence.Text = info.Name;
|
| | | // rowLayout.AddChidren(txtResidence);
|
| | | // txtResidence.X -= ControlCommonResourse.PointXXLeft;
|
| | | //删除
|
| | | var btnDelete = new NormalViewControl(Application.GetRealWidth(184), frameRow.Height, false);
|
| | | btnDelete.BackgroundColor = 0xfff75858;
|
| | | btnDelete.TextSize = 12;
|
| | | btnDelete.TextColor = UserCenterColor.Current.White;
|
| | | btnDelete.TextAlignment = TextAlignment.Center;
|
| | | btnDelete.TextID = R.MyInternationalizationString.uDelete;
|
| | | frameRow.AddRightView(btnDelete);
|
| | | btnDelete.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //删除楼层
|
| | | this.DeleteFloor(keys);
|
| | | };
|
| | | }
|
| | | }
|
| | |
|
| | | // //不是分享过来的住宅
|
| | | // if (info.IsOthreShare == false)
|
| | | // {
|
| | | // //编辑
|
| | | // var btnEditor = new RowEditorButton();
|
| | | // rowLayout.AddRightView(btnEditor);
|
| | | // btnEditor.MouseUpEventHandler += (sender, e) =>
|
| | | // {
|
| | | // this.ShowEditorForm(info);
|
| | | // };
|
| | | #endregion
|
| | |
|
| | | // //不能删除当前正在操作的住宅
|
| | | // if (Common.Config.Instance.HomeId != info.Id)
|
| | | // {
|
| | | // //删除
|
| | | // var btnDelete = new RowDeleteButton();
|
| | | // rowLayout.AddRightView(btnDelete);
|
| | | // btnDelete.MouseUpEventHandler += (sender, e) =>
|
| | | // {
|
| | | // //检测能否删除住宅
|
| | | // if (this.CheckIsCanDeleteResidence(info) == false)
|
| | | // {
|
| | | // return;
|
| | | // }
|
| | | // //确认要删除吗?
|
| | | // string msg = Language.StringByID(R.MyInternationalizationString.uShowDoDeleteMsg);
|
| | | // this.ShowConfirmMsg(msg, "DeleteResidence", info);
|
| | | // };
|
| | | // }
|
| | | // }
|
| | | // //成员的管理员权限,只能编辑,不能删除
|
| | | // //if (info.AccountType == 1)
|
| | | // //{
|
| | | // // //编辑
|
| | | // // var btnEditor = new RowEditorButton();
|
| | | // // rowLayout.AddRightView(btnEditor);
|
| | | // // btnEditor.MouseUpEventHandler += (sender, e) =>
|
| | | // // {
|
| | | // // this.ShowEditorForm(info);
|
| | | // // };
|
| | | // //}
|
| | | //}
|
| | | #region ■ 创建或编辑楼层_____________________
|
| | |
|
| | | //#endregion
|
| | | /// <summary>
|
| | | /// 创建或者编辑楼层
|
| | | /// </summary>
|
| | | /// <param name="keys"></param>
|
| | | /// <param name="floorName"></param>
|
| | | private void CreatOrEditorFloor(string keys, string floorName)
|
| | | {
|
| | | //生成一个弹窗画面
|
| | | var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
|
| | | //创建楼层
|
| | | dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uCreatFloor));
|
| | | if (keys != string.Empty)
|
| | | {
|
| | | //更改名称
|
| | | dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uChangedName));
|
| | | }
|
| | | //请输入楼层名称
|
| | | dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputFloorName));
|
| | | dialogForm.Text = floorName;
|
| | |
|
| | | //#region ■ 显示编辑画面_______________________
|
| | | //按下确认按钮
|
| | | dialogForm.ComfirmClickEvent += ((textValue) =>
|
| | | {
|
| | | if (this.CheckFloorName(keys, textValue) == false)
|
| | | {
|
| | | //楼层名称检测
|
| | | return;
|
| | | }
|
| | | //画面关闭
|
| | | dialogForm.CloseDialog();
|
| | | if (floorName != textValue)
|
| | | {
|
| | | //编辑或者创建楼层名称
|
| | | if (keys == string.Empty)
|
| | | {
|
| | | keys = Guid.NewGuid().ToString();
|
| | | }
|
| | | Common.Config.Instance.Home.FloorDics[keys] = textValue;
|
| | | Common.Config.Instance.Home.Save();
|
| | | //重新初始化楼层行
|
| | | this.InitFloorRow();
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | ///// <summary>
|
| | | ///// 显示编辑画面
|
| | | ///// </summary>
|
| | | ///// <param name="info"></param>
|
| | | //private void ShowEditorForm(Common.ResponseEntity.ResidenceObj info)
|
| | | //{
|
| | | // //生成一个弹窗画面
|
| | | // var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput);
|
| | | /// <summary>
|
| | | /// 检测楼层名称
|
| | | /// </summary>
|
| | | /// <param name="keys">主键</param>
|
| | | /// <param name="newFloorName">新的楼层名称</param>
|
| | | /// <returns></returns>
|
| | | private bool CheckFloorName(string keys, string newFloorName)
|
| | | {
|
| | | if (newFloorName == string.Empty)
|
| | | {
|
| | | //请输入住宅名称
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInputFloorName);
|
| | | this.ShowMassage(ShowMsgType.Error, msg);
|
| | | return false;
|
| | | }
|
| | | foreach (string floorKeys in Common.Config.Instance.Home.FloorDics.Keys)
|
| | | {
|
| | | if (floorKeys != keys && newFloorName == Common.Config.Instance.Home.FloorDics[floorKeys])
|
| | | {
|
| | | //楼层名称已经存在
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uFloorNameIsExist);
|
| | | this.ShowMassage(ShowMsgType.Error, msg);
|
| | | return false;
|
| | | }
|
| | | }
|
| | | return true;
|
| | | }
|
| | |
|
| | | // if (string.IsNullOrEmpty(info.Name) == true)
|
| | | // {
|
| | | // //添加住宅
|
| | | // dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddResidence));
|
| | | // }
|
| | | // else
|
| | | // {
|
| | | // //编辑住宅
|
| | | // dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorResidence));
|
| | | // }
|
| | | #endregion
|
| | |
|
| | | // //请输入住宅名称
|
| | | // dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputResidenceName));
|
| | | // if (info.Name != null)
|
| | | // {
|
| | | // dialogForm.InputText = info.Name;
|
| | | // }
|
| | | |
| | | // //按下确认按钮
|
| | | // dialogForm.ComfirmClickEvent += (()=>
|
| | | // {
|
| | | // string resiName = dialogForm.InputText;
|
| | | // if (resiName == string.Empty)
|
| | | // {
|
| | | // //请输入住宅名称
|
| | | // string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInputResidenceName);
|
| | | // this.ShowErrorMsg(msg);
|
| | | // return;
|
| | | // }
|
| | | // //画面关闭
|
| | | // dialogForm.CloseDialog();
|
| | | #region ■ 删除楼层___________________________
|
| | |
|
| | | // if (info.Name != resiName)
|
| | | // {
|
| | | // //保存住宅
|
| | | // this.SaveResidence(resiName, info, string.IsNullOrEmpty(info.Name) == false);
|
| | | // }
|
| | | // });
|
| | | //}
|
| | | /// <summary>
|
| | | /// 删除楼层
|
| | | /// </summary>
|
| | | /// <param name="keys"></param>
|
| | | private void DeleteFloor(string keys)
|
| | | {
|
| | | //确认删除楼层及其所有房间?
|
| | | this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uDeleteFloorMsg), () =>
|
| | | {
|
| | | //移除楼层
|
| | | Common.Config.Instance.Home.FloorDics.Remove(keys);
|
| | | if (Common.Room.CurrentRoom == null)
|
| | | {
|
| | | Common.Room.CurrentRoom = Common.Room.Lists[0];
|
| | | }
|
| | | var listDeleteFile = new List<string>();
|
| | | for (int i = 0; i < Common.Room.Lists.Count; i++)
|
| | | {
|
| | | if (Common.Room.Lists[i].FloorId == keys)
|
| | | {
|
| | | listDeleteFile.Add(Common.Room.Lists[i].FileName);
|
| | | }
|
| | | }
|
| | | //删除房间
|
| | | foreach (string fileName in listDeleteFile)
|
| | | {
|
| | | Common.Room.CurrentRoom.Remove(fileName);
|
| | | }
|
| | | //如果当前选择的房间是删除对象的话
|
| | | if (Common.Room.CurrentRoom.FloorId == keys)
|
| | | {
|
| | | Common.Room.CurrentRoom = Common.Room.Lists[0];
|
| | | }
|
| | | Common.Config.Instance.Home.Save();
|
| | | //重新初始化楼层行
|
| | | listFloorSort.Remove(keys);
|
| | | this.InitFloorRow();
|
| | | });
|
| | | }
|
| | |
|
| | | //#endregion
|
| | | #endregion
|
| | |
|
| | | //#region ■ 保存住宅___________________________
|
| | | #region ■ 右上角菜单_________________________
|
| | |
|
| | | ///// <summary>
|
| | | ///// 保存住宅
|
| | | ///// </summary>
|
| | | ///// <param name="ResidenceName"></param>
|
| | | ///// <param name="info"></param>
|
| | | ///// <param name="isEditor"></param>
|
| | | ///// <returns></returns>
|
| | | //private async void SaveResidence(string ResidenceName, Common.ResponseEntity.ResidenceObj info, bool isEditor)
|
| | | //{
|
| | | // //检测能否保存住宅
|
| | | // if (this.CheckIsCanSaveResidence(info.Id, ResidenceName, isEditor) == false)
|
| | | // {
|
| | | // return;
|
| | | // }
|
| | | // //开启进度条
|
| | | // this.ShowProgressBar();
|
| | | /// <summary>
|
| | | /// 初始化右上角菜单
|
| | | /// </summary>
|
| | | private void InitTopRightMenu()
|
| | | {
|
| | | var btnIcon = new MostRightIconControl(69, 69);
|
| | | btnIcon.UnSelectedImagePath = "Item/More.png";
|
| | | topFrameLayout.AddChidren(btnIcon);
|
| | | btnIcon.InitControl();
|
| | | btnIcon.ButtonClickEvent += ((sender, e) =>
|
| | | {
|
| | | var frame = new TopRightMenuControl(this, 1);
|
| | | //删除住宅
|
| | | frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uDeleteResidence), "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () =>
|
| | | {
|
| | | //确认删除住宅及所有楼层、房间?
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uDeleteResidenceMsg);
|
| | | this.ShowMassage(ShowMsgType.Confirm, msg, () =>
|
| | | {
|
| | | this.DeleteResidence();
|
| | | });
|
| | | });
|
| | | });
|
| | | }
|
| | |
|
| | | // if (isEditor == true)
|
| | | // {
|
| | | // var Pra = new EditorResidencePra();
|
| | | // Pra.HomeId = info.Id;
|
| | | // Pra.Name = ResidenceName;
|
| | | // //编辑住宅
|
| | | // bool flage = await UserCenterLogic.GetResultStatuByRequestHttps("App/EditHome", false, Pra);
|
| | | // if (flage == false)
|
| | | // {
|
| | | // //关闭进度条
|
| | | // this.CloseProgressBar();
|
| | | // return;
|
| | | // }
|
| | | // //刷新内存的住宅名
|
| | | // House.EditorHouseByHouseId(info.Id, ResidenceName);
|
| | | // //重新刷新列表
|
| | | // this.SetResidenceInfo();
|
| | | // }
|
| | | // else
|
| | | // {
|
| | | // var Pra = new AddResidencePra();
|
| | | // Pra.Name = ResidenceName;
|
| | | // //添加住宅
|
| | | // string resultData = await UserCenterLogic.GetResponseDataByRequestHttps("App/AddHome", false, Pra);
|
| | | // if (resultData == null)
|
| | | // {
|
| | | // //关闭进度条
|
| | | // this.CloseProgressBar();
|
| | | // return;
|
| | | // }
|
| | | /// <summary>
|
| | | /// 删除住宅
|
| | | /// </summary>
|
| | | public async void DeleteResidence()
|
| | | {
|
| | | //开启进度条
|
| | | this.ShowProgressBar();
|
| | |
|
| | | // var newInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<NewResidenceInfo>>(resultData);
|
| | | var Pra = new DeleteResidencePra();
|
| | | Pra.HomeId = Common.Config.Instance.Home.Id;
|
| | | Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
|
| | |
|
| | | // House.AddHouse(newInfo[0].Id, ResidenceName, 0);
|
| | | // //重新刷新列表
|
| | | // this.SetResidenceInfo();
|
| | | // }
|
| | | //}
|
| | | bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/DelHome", true, Pra);
|
| | | //关闭进度条
|
| | | this.CloseProgressBar();
|
| | | if (result == false)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | //#endregion
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | {
|
| | | //因为删除的是当前的住宅,所以需要先切换到别的住宅
|
| | | string deleteId = Common.Config.Instance.Home.Id;
|
| | | string deleteFile = Common.Config.Instance.Home.FileName;
|
| | | int index = 0;
|
| | | for (; index < Common.Config.Instance.HomeFilePathList.Count; index++)
|
| | | {
|
| | | if (Common.Config.Instance.HomeFilePathList[index] == deleteFile)
|
| | | {
|
| | | //当前住宅所处的位置(住宅数肯定大于1,不然不会出现删除按钮)
|
| | | if (index == 0)
|
| | | {
|
| | | //取下一位
|
| | | index++;
|
| | | }
|
| | | else
|
| | | {
|
| | | //取前一位
|
| | | index--;
|
| | | }
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | //#region ■ 删除住宅___________________________
|
| | | var myHouse = Common.House.GetHouseByFilePath(Common.Config.Instance.HomeFilePathList[index]);
|
| | | //切换住宅
|
| | | Common.Config.Instance.HomeId = myHouse.Id;
|
| | | Common.Global.CreateHomeDirectory(myHouse.Id);
|
| | | Common.Config.Instance.Save();
|
| | | //刷新个人中心的内存及线程
|
| | | await UserCenterLogic.InitUserCenterMenmoryAndThread();
|
| | | Common.Room.InitAllRoom();
|
| | |
|
| | | ///// <summary>
|
| | | ///// 删除住宅
|
| | | ///// </summary>
|
| | | ///// <param name="info"></param>
|
| | | //public async void DeleteResidence(Common.ResponseEntity.ResidenceObj info)
|
| | | //{
|
| | | // //开启进度条
|
| | | // this.ShowProgressBar();
|
| | | //删除住宅
|
| | | Common.House.DeleteHouseByHouseId(deleteId);
|
| | |
|
| | | // var Pra = new DeleteResidencePra();
|
| | | // Pra.HomeId = info.Id;
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | //关闭界面
|
| | | this.CloseForm();
|
| | | });
|
| | | });
|
| | | }
|
| | |
|
| | | // bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/DelHome", false, Pra);
|
| | | // if (result == false)
|
| | | // {
|
| | | // //关闭进度条
|
| | | // this.CloseProgressBar();
|
| | | // return;
|
| | | // }
|
| | | // House.DeleteHouseByHouseId(info.Id);
|
| | | #endregion
|
| | |
|
| | | // this.SetResidenceInfo();
|
| | | //}
|
| | | #region ■ 结构体_____________________________
|
| | |
|
| | | //#endregion
|
| | | /// <summary>
|
| | | /// 删除住宅的启动参数
|
| | | /// </summary>
|
| | | public class DeleteResidencePra : IfacePraCommon
|
| | | {
|
| | | /// <summary>
|
| | | /// RequestVersion
|
| | | /// </summary>
|
| | | public string RequestVersion = Common.CommonPage.RequestVersion;
|
| | | /// <summary>
|
| | | /// LoginAccessToken
|
| | | /// </summary>
|
| | | public string LoginAccessToken = Common.Config.Instance.Token;
|
| | | /// <summary>
|
| | | /// ZigbeeHomeId
|
| | | /// </summary>
|
| | | public string HomeId = "";
|
| | | }
|
| | |
|
| | | //#region ■ 一般方法___________________________
|
| | |
|
| | | ///// <summary>
|
| | | ///// 检测能否删除住宅
|
| | | ///// </summary>
|
| | | ///// <param name="info"></param>
|
| | | ///// <returns></returns>
|
| | | //private bool CheckIsCanDeleteResidence(Common.ResponseEntity.ResidenceObj info)
|
| | | //{
|
| | | // if (this.dicResidenceData.Count == 1)
|
| | | // {
|
| | | // //如果此账号下只剩下唯一一个自己的住宅,当删除这个住宅时,提示不能删除
|
| | | // //因为最少要有一个住宅
|
| | | // if (this.dicResidenceData.ContainsKey(info.Id) == true)
|
| | | // {
|
| | | // //不能删除最后唯一的住宅
|
| | | // string msg = Language.StringByID(R.MyInternationalizationString.uDoNotDeleteLastResidence);
|
| | | // this.ShowErrorMsg(msg);
|
| | | // return false;
|
| | | // }
|
| | | // }
|
| | | // return true;
|
| | | //}
|
| | |
|
| | | ///// <summary>
|
| | | ///// 检测能否保存住宅
|
| | | ///// </summary>
|
| | | ///// <param name="residenceId">住宅ID</param>
|
| | | ///// <param name="residenceName">住宅名</param>
|
| | | ///// <param name="isEditor">isEditor</param>
|
| | | ///// <returns></returns>
|
| | | //private bool CheckIsCanSaveResidence(string residenceId, string residenceName, bool isEditor)
|
| | | //{
|
| | | // //住宅名字重复检测
|
| | | // foreach (string strId in this.dicResidenceData.Keys)
|
| | | // {
|
| | | // if (residenceId != strId && residenceName == this.dicResidenceData[strId].Name)
|
| | | // {
|
| | | // //住宅名字已经存在
|
| | | // int msgId = isEditor == true ? R.MyInternationalizationString.EditZigbeeHome_Exist : R.MyInternationalizationString.AddZigbeeHome_Exist;
|
| | | // string msg = Language.StringByID(msgId);
|
| | | // this.ShowErrorMsg(msg);
|
| | | // return false;
|
| | | // }
|
| | | // }
|
| | | // return true;
|
| | | //}
|
| | |
|
| | | //#endregion
|
| | |
|
| | | //#region ■ 结构体_____________________________
|
| | |
|
| | | ///// <summary>
|
| | | ///// 访问住宅信息接口的启动参数(查询专用)
|
| | | ///// </summary>
|
| | | //public class GetResidenceInfoPra:IfacePraCommon
|
| | | //{
|
| | | // /// <summary>
|
| | | // /// RequestVersion
|
| | | // /// </summary>
|
| | | // public string RequestVersion = Common.CommonPage.RequestVersion;
|
| | | // /// <summary>
|
| | | // /// ReqDto
|
| | | // /// </summary>
|
| | | // public TokenInfo ReqDto = new TokenInfo();
|
| | | //}
|
| | |
|
| | | ///// <summary>
|
| | | ///// 访问住宅信息接口的启动参数(查询专用)
|
| | | ///// </summary>
|
| | | //public class TokenInfo
|
| | | //{
|
| | | // /// <summary>
|
| | | // /// LoginAccessToken
|
| | | // /// </summary>
|
| | | // public string LoginAccessToken = Common.Config.Instance.Token;
|
| | | // /// <summary>
|
| | | // /// PageSetting
|
| | | // /// </summary>
|
| | | // public PageSettingInfo PageSetting = new PageSettingInfo()
|
| | | // {
|
| | | // Page = 1,
|
| | | // PageSize = 500
|
| | | // };
|
| | | //}
|
| | |
|
| | | ///// <summary>
|
| | | ///// 添加住宅的启动参数
|
| | | ///// </summary>
|
| | | //public class AddResidencePra:IfacePraCommon
|
| | | //{
|
| | | // /// <summary>
|
| | | // /// RequestVersion
|
| | | // /// </summary>
|
| | | // public string RequestVersion = Common.CommonPage.RequestVersion;
|
| | | // /// <summary>
|
| | | // /// LoginAccessToken
|
| | | // /// </summary>
|
| | | // public string LoginAccessToken = Common.Config.Instance.Token;
|
| | | // /// <summary>
|
| | | // /// Name
|
| | | // /// </summary>
|
| | | // public string Name = string.Empty;
|
| | | //}
|
| | |
|
| | | ///// <summary>
|
| | | ///// 新住宅的信息
|
| | | ///// </summary>
|
| | | //public class NewResidenceInfo
|
| | | //{
|
| | | // /// <summary>
|
| | | // /// ZigbeeHomeGuid
|
| | | // /// </summary>
|
| | | // public string Id = string.Empty;
|
| | | //}
|
| | |
|
| | | ///// <summary>
|
| | | ///// 编辑住宅的启动参数
|
| | | ///// </summary>
|
| | | //public class EditorResidencePra : IfacePraCommon
|
| | | //{
|
| | | // /// <summary>
|
| | | // /// RequestVersion
|
| | | // /// </summary>
|
| | | // public string RequestVersion = Common.CommonPage.RequestVersion;
|
| | | // /// <summary>
|
| | | // /// LoginAccessToken
|
| | | // /// </summary>
|
| | | // public string LoginAccessToken = Common.Config.Instance.Token;
|
| | | // /// <summary>
|
| | | // /// ZigbeeHomeId
|
| | | // /// </summary>
|
| | | // public string HomeId = "";
|
| | | // /// <summary>
|
| | | // /// Name
|
| | | // /// </summary>
|
| | | // public string Name = string.Empty;
|
| | | //}
|
| | |
|
| | | ///// <summary>
|
| | | ///// 删除住宅的启动参数
|
| | | ///// </summary>
|
| | | //public class DeleteResidencePra : IfacePraCommon
|
| | | //{
|
| | | // /// <summary>
|
| | | // /// RequestVersion
|
| | | // /// </summary>
|
| | | // public string RequestVersion = Common.CommonPage.RequestVersion;
|
| | | // /// <summary>
|
| | | // /// LoginAccessToken
|
| | | // /// </summary>
|
| | | // public string LoginAccessToken = Common.Config.Instance.Token;
|
| | | // /// <summary>
|
| | | // /// ZigbeeHomeId
|
| | | // /// </summary>
|
| | | // public string HomeId = "";
|
| | | //}
|
| | | //#endregion
|
| | | #endregion
|
| | | }
|
| | | }
|