| | |
| | | }
|
| | | //经纬度
|
| | | var btnLocation = rowHome.frameTable.AddMostRightView(string.Empty, 500);
|
| | | btnLocation.Text = this.GetLatitudeAndLongitudeText(Common.Config.Instance.Home.Longitude, Common.Config.Instance.Home.Latitude);
|
| | | btnLocation.Text = Common.Config.Instance.Home.ResidenceAddressName;
|
| | |
|
| | | //主人或者管理员才会出现这个菜单
|
| | | if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
|
| | |
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | //保存住宅地址
|
| | | this.SaveResidenceAdrress(btnLocation, mLatitude, mLongitude);
|
| | | this.SaveResidenceAdrress(btnLocation, mLatitude, mLongitude, name);
|
| | | });
|
| | | }, Language.StringByID(R.MyInternationalizationString.uSelectAdrress), true, latitude, longitude, 100);
|
| | | }, |
| | | Language.StringByID(R.MyInternationalizationString.uSelectAdrress),
|
| | | Language.StringByID(R.MyInternationalizationString.uSave),
|
| | | true, latitude, longitude, 100);
|
| | | };
|
| | | }
|
| | |
|
| | |
| | | frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatFloor), "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () =>
|
| | | {
|
| | | //创建楼层
|
| | | this.CreatOrEditorFloor(null, string.Empty, string.Empty);
|
| | | this.CreatOrEditorFloor(null, null, string.Empty, string.Empty);
|
| | | });
|
| | | //创建房间
|
| | | frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatRoom), "Item/RoomIcon.png", "Item/RoomIconSelected.png", () =>
|
| | |
| | | else if (AppResidenceMode == 1)
|
| | | {
|
| | | //创建楼层
|
| | | this.CreatOrEditorFloor(null, string.Empty, string.Empty);
|
| | | this.CreatOrEditorFloor(null, null, string.Empty, string.Empty);
|
| | | }
|
| | | //无楼层模式
|
| | | else if (AppResidenceMode == 2)
|
| | |
| | | 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;
|
| | | var btnChanged = frameRow.AddEditorControl();
|
| | | btnChanged.TextID = R.MyInternationalizationString.uChanged1;
|
| | | frameRow.AddRightView(btnChanged);
|
| | | btnChanged.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //创建或者编辑楼层
|
| | | this.CreatOrEditorFloor(btnFloor, keys, floorName);
|
| | | this.CreatOrEditorFloor(frameRow, btnFloor, keys, floorName);
|
| | | };
|
| | |
|
| | | //删除
|
| | |
| | | Common.Config.Instance.Home.CurrentFloorId = floorId;
|
| | | break;
|
| | | }
|
| | | //删除当前楼层的话,需要去刷新主页左边的房间列表
|
| | | HdlRoomLogic.Current.RefreshRoomListView();
|
| | | }
|
| | | var listDeleteId = new List<string>();
|
| | | var listAllRoom = HdlRoomLogic.Current.GetAllListRooms();
|
| | |
| | | /// <param name="btnFloor"></param>
|
| | | /// <param name="keys"></param>
|
| | | /// <param name="floorName"></param>
|
| | | private void CreatOrEditorFloor(NormalViewControl btnFloor, string keys, string floorName)
|
| | | private void CreatOrEditorFloor(RowLayoutControl frameRow, NormalViewControl btnFloor, string keys, string floorName)
|
| | | {
|
| | | //生成一个弹窗画面
|
| | | var dialogForm = new DialogInputControl();
|
| | |
| | | //按下确认按钮
|
| | | dialogForm.ComfirmClickEvent += ((textValue) =>
|
| | | {
|
| | | //还原左右菜单
|
| | | frameRow?.HideMenu();
|
| | |
|
| | | if (this.CheckFloorName(keys, textValue) == false)
|
| | | {
|
| | | //楼层名称检测
|
| | |
| | | }
|
| | | Common.Config.Instance.Home.FloorDics[keys] = textValue;
|
| | | Common.Config.Instance.Home.Save();
|
| | | if (Common.Config.Instance.Home.CurrentFloorId == string.Empty)
|
| | | {
|
| | | Common.Config.Instance.Home.CurrentFloorId = keys;
|
| | | //创建第一个新的楼层的话,需要去刷新主页左边的房间列表
|
| | | HdlRoomLogic.Current.RefreshRoomListView();
|
| | | }
|
| | | if (btnFloor != null)
|
| | | {
|
| | | btnFloor.Text = textValue;
|
| | |
| | | //开启进度条
|
| | | this.ShowProgressBar();
|
| | |
|
| | | var Pra = new DeleteResidencePra();
|
| | | Pra.HomeId = Common.Config.Instance.Home.Id;
|
| | | Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
|
| | |
|
| | | bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/DelHome", true, Pra);
|
| | | if (result == false)
|
| | | if (Common.Config.Instance.Home.IsOthreShare == false)
|
| | | {
|
| | | //关闭进度条
|
| | | this.CloseProgressBar();
|
| | | return;
|
| | | //删除主人自己的住宅
|
| | | var Pra = new DeleteResidencePra();
|
| | | Pra.HomeId = Common.Config.Instance.Home.Id;
|
| | | Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
|
| | |
|
| | | bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/DelHome", true, Pra);
|
| | | if (result == false)
|
| | | {
|
| | | //关闭进度条
|
| | | this.CloseProgressBar();
|
| | | return;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | //删除分享的住宅
|
| | | var Pra2 = new
|
| | | {
|
| | | HomeId = Common.Config.Instance.Home.Id,
|
| | | PrimaryUserId = Common.Config.Instance.Home.MainUserDistributedMark
|
| | | };
|
| | | bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/SubAccountDelShareHome", false, Pra2);
|
| | | if (result == false)
|
| | | {
|
| | | //关闭进度条
|
| | | this.CloseProgressBar();
|
| | | return;
|
| | | }
|
| | | }
|
| | |
|
| | | //因为删除的是当前的住宅,所以需要先切换到别的住宅
|
| | |
| | | /// <param name="btnLocation">显示控件</param>
|
| | | /// <param name="latitude">纬度</param>
|
| | | /// <param name="longitude">经度</param>
|
| | | private async void SaveResidenceAdrress(NormalViewControl btnLocation, double latitude, double longitude)
|
| | | /// <param name="addresName">位置名称</param>
|
| | | private async void SaveResidenceAdrress(NormalViewControl btnLocation, double latitude, double longitude, string addresName)
|
| | | {
|
| | | //开启进度条
|
| | | this.ShowProgressBar();
|
| | |
| | | //错误:网关对象丢失
|
| | | continue;
|
| | | }
|
| | | var result = HdlGatewayLogic.Current.SetGatewaySite(gateway, longitude, latitude);
|
| | | var result = HdlGatewayLogic.Current.SetGatewaySite(gateway, longitude, latitude, ShowErrorMode.YES);
|
| | | if (result == false)
|
| | | {
|
| | | //关闭进度条
|
| | |
| | | //保存缓存
|
| | | Common.Config.Instance.Home.Longitude = longitude;
|
| | | Common.Config.Instance.Home.Latitude = latitude;
|
| | | Common.Config.Instance.Home.ResidenceAddressName = addresName;
|
| | | Common.Config.Instance.Home.Save();
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | btnLocation.Text = this.GetLatitudeAndLongitudeText(longitude, latitude);
|
| | | btnLocation.Text = addresName;
|
| | | });
|
| | | }
|
| | |
|
| | |
| | | {
|
| | | //请输入住宅名称
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uPleaseInputFloorName);
|
| | | this.ShowMassage(ShowMsgType.Error, msg);
|
| | | this.ShowMassage(ShowMsgType.Tip, msg);
|
| | | return false;
|
| | | }
|
| | | foreach (string floorKeys in Common.Config.Instance.Home.FloorDics.Keys)
|
| | |
| | | {
|
| | | //楼层名称已经存在
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uFloorNameIsExist);
|
| | | this.ShowMassage(ShowMsgType.Error, msg);
|
| | | this.ShowMassage(ShowMsgType.Tip, msg);
|
| | | return false;
|
| | | }
|
| | | }
|
| | | return true;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取经纬度的翻译名字
|
| | | /// </summary>
|
| | | /// <param name="Longitude">经度</param>
|
| | | /// <param name="Latitude">纬度</param>
|
| | | /// <returns></returns>
|
| | | private string GetLatitudeAndLongitudeText(double Longitude, double Latitude)
|
| | | {
|
| | | string value1 = string.Empty;
|
| | | string value2 = string.Empty;
|
| | | if (Longitude == 0)
|
| | | {
|
| | | //默认东经
|
| | | value1 = "0°00'E";
|
| | | }
|
| | | else if (Longitude > 0)
|
| | | {
|
| | | //东经
|
| | | value1 = Math.Round(Longitude, 2).ToString().Replace(".", "°") + "'E";
|
| | | }
|
| | | else if (Longitude < 0)
|
| | | {
|
| | | //西经
|
| | | value1 = Math.Round(-Longitude, 2).ToString().Replace(".", "°") + "'W";
|
| | | }
|
| | |
|
| | | if (Latitude == 0)
|
| | | {
|
| | | //默认北纬
|
| | | value2 = "0°00'N";
|
| | | }
|
| | | else if (Latitude > 0)
|
| | | {
|
| | | //北纬
|
| | | value2 = Math.Round(Latitude, 2).ToString().Replace(".", "°") + "'N";
|
| | | }
|
| | | else if (Latitude < 0)
|
| | | {
|
| | | //南纬
|
| | | value2 = Math.Round(-Latitude, 2).ToString().Replace(".", "°") + "'S";
|
| | | }
|
| | | return value1 + " " + value2;
|
| | | }
|
| | |
|
| | | #endregion
|