using System;
|
using System.Collections.Generic;
|
|
namespace Shared.SimpleControl.Phone
|
{
|
/// <summary>
|
/// 住宅列表页面
|
/// </summary>
|
public class GuideAddResidence : FrameLayout
|
{
|
public bool IsHideBack = false;
|
|
bool IsNeedGoToGuideAddGatewayView = false;
|
|
public override void RemoveFromParent ()
|
{
|
base.RemoveFromParent ();
|
if (!IsHideBack) {
|
//判断是否需要隐藏或者显示功能菜单按钮
|
UserSettingView.CheckIfRefreshView ();
|
}
|
}
|
|
public GuideAddResidence ()
|
{
|
BackgroundColor = SkinStyle.Current.MainColor;
|
}
|
|
//bool isInitViewEnd = false;
|
VerticalScrolViewLayout VerticalScrolViewMiddle;
|
|
public void ShowHomeView (bool showDialog = false) {
|
#region 标题
|
var topView = new FrameLayout () {
|
Y = Application.GetRealHeight (36),
|
Height = Application.GetRealHeight (90),
|
};
|
AddChidren (topView);
|
|
var title = new Button () {
|
TextAlignment = TextAlignment.Center,
|
Text = "Zones/Residences",
|
TextSize = 19,
|
TextColor = SkinStyle.Current.TextColor1
|
};
|
topView.AddChidren (title);
|
|
Button ItemButton = new Button () {
|
Width = Application.GetRealWidth (55),
|
Height = Application.GetRealHeight (55),
|
UnSelectedImagePath = "Item/+.png",
|
SelectedImagePath = "Item/+.png",
|
Y = Application.GetRealHeight (17),
|
X = Application.GetRealWidth (640 - 80),
|
};
|
topView.AddChidren (ItemButton);
|
ItemButton.MouseUpEventHandler += (sender1, e1) => {
|
//GuideAddHomeDialog (new RegionInfoRes () { Id = "", Name = "" }, false);
|
GuideAddHomeDialog (new RegionInfoRes () { Id = "", Name = "" }, false);
|
};
|
|
//if (!IsHideBack) {
|
var back = new Button () {
|
Height = Application.GetRealHeight (90),
|
Width = Application.GetRealWidth (85),
|
UnSelectedImagePath = "Item/Back.png",
|
SelectedImagePath = "Item/BackSelected.png",
|
};
|
topView.AddChidren (back);
|
back.MouseUpEventHandler += (sender, e) => {
|
if (IsHideBack) {
|
ShowIfLogoutAlter ();
|
} else {
|
(Parent as PageLayout).PageIndex -= 1;
|
}
|
|
};
|
|
//}
|
|
|
|
#endregion
|
|
var BodyView = new FrameLayout () {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (1136 - 126),
|
Y = topView.Bottom,
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
};
|
AddChidren (BodyView);
|
|
VerticalScrolViewMiddle = new VerticalScrolViewLayout ();
|
BodyView.AddChidren (VerticalScrolViewMiddle);
|
|
GetHomeList (showDialog);
|
|
}
|
|
/// <summary>
|
/// 查询所有住宅列表
|
/// </summary>
|
/// <param name="showDialog"></param>
|
void GetHomeList (bool showDialog = false)
|
{
|
|
new System.Threading.Thread (() => {
|
bool needHide = true;
|
try {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Start ("Please wait...");
|
new System.Threading.Thread (() => {
|
System.Threading.Thread.Sleep (10000);
|
if (needHide) {
|
MainPage.Loading.MouseUpEventHandler += (sd, dd) => {
|
Application.RunOnMainThread (() => {
|
this.RemoveFromParent ();
|
MainPage.Loading.Hide ();
|
needHide = false;
|
});
|
};
|
}
|
}) { IsBackground = true }.Start ();
|
});
|
|
//获取住宅列表
|
var revertObjCode = HttpServerRequest.Current.GetHomePager ();
|
if (revertObjCode == StateCode.SUCCESS) {
|
var mHomeLists = UserConfig.Instance.HomeLists;
|
if (mHomeLists != null && mHomeLists.Count > 0) {
|
if (string.IsNullOrEmpty (UserConfig.Instance.HomeLists [0].Name)) {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
this.RemoveFromParent ();
|
return;
|
});
|
}
|
UserConfig.Instance.SaveUserConfig ();
|
//2020-01-16
|
var mHome = mHomeLists.Find ((obj) => obj.Id == UserConfig.Instance.CurrentRegion.Id);
|
if (mHome != null) {
|
UserConfig.Instance.CurrentRegion = mHome;
|
} else {
|
UserConfig.Instance.CurrentRegion = UserConfig.Instance.HomeLists [0];
|
}
|
} else {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
this.RemoveFromParent ();
|
});
|
return;
|
}
|
} else {
|
IMessageCommon.Current.ShowErrorInfoAlter (revertObjCode);
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
this.RemoveFromParent ();
|
return;
|
});
|
}
|
//加载住宅界面
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
ShowHomeListView (showDialog);
|
});
|
} catch (Exception ex) {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
this.RemoveFromParent ();
|
needHide = false;
|
});
|
Utlis.WriteLine (ex.Message);
|
} finally {
|
needHide = false;
|
}
|
}) { IsBackground = true }.Start ();
|
}
|
|
/// <summary>
|
/// 加载刷新所有住宅
|
/// </summary>
|
/// <param name="ifNeedShowDialog"></param>
|
void ShowHomeListView (bool ifNeedShowDialog = false)
|
{
|
try {
|
VerticalScrolViewMiddle.RemoveAll ();
|
foreach (var tempHome in UserConfig.Instance.HomeLists) {
|
AddResidenceListRow (tempHome, VerticalScrolViewMiddle);
|
}
|
} catch { }
|
|
|
if (!UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) {
|
if (ifNeedShowDialog) {
|
GuideAddHomeDialog (UserConfig.Instance.HomeLists [0], true);
|
UserConfig.Instance.CurrentRegion = UserConfig.Instance.HomeLists [0];
|
}
|
}
|
try {
|
if (IsNeedGoToGuideAddGatewayView) {
|
IsNeedGoToGuideAddGatewayView = false;
|
if (UserConfig.Instance.CurrentRegion.IsOthreShare) {
|
//提示没有分享住宅的权限
|
new Alert ("", ErrorCode.InsufficientAuthority, "Close").Show ();
|
return;
|
}
|
GotoGuideAddGatewayView (UserConfig.Instance.CurrentRegion);
|
}
|
} catch { }
|
|
}
|
|
/// <summary>
|
/// 提示用户是否退出登录
|
/// </summary>
|
void ShowIfLogoutAlter ()
|
{
|
var logoutAlert = new Alert ("", "Log out?", "No", "Yes");
|
logoutAlert.Show ();
|
logoutAlert.ResultEventHandler += (sender1, e1) => {
|
if (e1) {
|
AccountLogout ();
|
}
|
};
|
|
}
|
|
/// <summary>
|
/// 退出登录
|
/// </summary>
|
void AccountLogout ()
|
{
|
try {
|
this.RemoveFromParent ();
|
MainPage.LoginUser.LastTime = DateTime.Now.AddDays (-30);
|
MainPage.LoginUser.SaveUserInfo ();
|
new AccountLogin ().Show ();
|
} catch {
|
|
}
|
|
}
|
|
/// <summary>
|
/// 加载界面
|
/// </summary>
|
/// <param name="home">Home.</param>
|
/// <param name="mVerticalScrolViewMiddle">Vertical scrol view middle.</param>
|
void AddResidenceListRow (RegionInfoRes home, VerticalScrolViewLayout mVerticalScrolViewMiddle)
|
{
|
var rowView = new RowLayout () {
|
Height = Application.GetRealHeight (110),
|
};
|
mVerticalScrolViewMiddle.AddChidren (rowView);
|
|
Button btnRowLine = new Button () {
|
Y = Application.GetRealHeight (107),
|
Height = Application.GetRealHeight (3),
|
BackgroundColor = SkinStyle.Current.Black50Transparent
|
};
|
rowView.AddChidren (btnRowLine);
|
|
var btnPoint = new Button () {
|
Width = Application.GetRealWidth (10),
|
Height = Application.GetRealWidth (10),
|
X = Application.GetRealWidth (50),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "Item/Point.png",
|
SelectedImagePath = "Item/Point.png",
|
Visible = home.Id != UserConfig.Instance.CurrentRegion.Id
|
};
|
rowView.AddChidren (btnPoint);
|
|
var btnName = new Button () {
|
Width = Application.GetRealWidth (390),
|
Text = home.Name,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (90),
|
TextColor = SkinStyle.Current.TextColor1,
|
};
|
rowView.AddChidren (btnName);
|
|
//显示分享按钮
|
if (home.IsOthreShare) {
|
Button FromSharingButton = new Button () {
|
X = Application.GetRealWidth (480),
|
Width = Application.GetRealWidth (30),
|
Height = Application.GetRealWidth (30),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "CrabtreeAdd/FromSharing.png",
|
SelectedImagePath = "CrabtreeAdd/FromSharing.png",
|
};
|
rowView.AddChidren (FromSharingButton);
|
}
|
|
var goNextButton = new Button () {
|
X = Application.GetRealWidth (500),
|
Width = Application.GetRealWidth (120),
|
};
|
rowView.AddChidren (goNextButton);
|
|
Button rightButton1 = new Button () {
|
X = Application.GetRealWidth (550),
|
Width = Application.GetRealWidth (28),
|
Height = Application.GetRealHeight (40),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "Item/Right.png",
|
SelectedImagePath = "Item/RightSelected.png",
|
};
|
rowView.AddChidren (rightButton1);
|
|
EventHandler<MouseEventArgs> eHandler = (sender, e) => {
|
if (home.Id == UserConfig.Instance.CurrentRegion.Id) {
|
if (home.IsOthreShare) {
|
//提示没有分享住宅的权限
|
new Alert ("", ErrorCode.InsufficientAuthority, "Close").Show ();
|
return;
|
}
|
|
GotoGuideAddGatewayView (home);
|
} else {
|
ChangeRegion (home);
|
}
|
};
|
rightButton1.MouseUpEventHandler += eHandler;
|
goNextButton.MouseUpEventHandler += eHandler;
|
btnName.MouseUpEventHandler += (sender, e) => {
|
if (home.Id == UserConfig.Instance.CurrentRegion.Id) {
|
if (home.IsOthreShare) {
|
//提示没有分享住宅的权限
|
new Alert ("", ErrorCode.InsufficientAuthority, "Close").Show ();
|
return;
|
}
|
GuideAddHomeDialog (home, false, true, btnName);
|
} else {
|
ChangeRegion (home);
|
}
|
};
|
|
if (home.Id == UserConfig.Instance.CurrentRegion.Id) {
|
Button btnCheck = new Button () {
|
X = Application.GetRealWidth (20),
|
Y = Application.GetRealHeight (25),
|
Width = Application.GetRealWidth (72),
|
Height = Application.GetRealHeight (61),
|
UnSelectedImagePath = "Skin/Check.png",
|
};
|
rowView.AddChidren (btnCheck);
|
}
|
if (UserConfig.Instance.CurrentRegion.Id != home.Id) {
|
Button btnDel = new Button () {
|
TextID = R.MyInternationalizationString.Del,
|
BackgroundColor = SkinStyle.Current.DelColor,
|
};
|
rowView.AddRightView (btnDel);
|
btnDel.MouseUpEventHandler += (sd, ee) => {
|
if (home.IsOthreShare) {
|
//提示没有分享住宅的权限
|
new Alert ("", ErrorCode.InsufficientAuthority, "Close").Show ();
|
return;
|
}
|
|
Dialog dialog = new Dialog ();
|
|
FrameLayout dialogBody = new FrameLayout () {
|
Width = Application.GetRealWidth (500),
|
Height = Application.GetRealHeight (400),
|
Radius = 5,
|
BorderColor = SkinStyle.Current.Transparent,
|
BorderWidth = 0,
|
BackgroundColor = SkinStyle.Current.DialogColor,
|
Gravity = Gravity.Center,
|
};
|
dialog.AddChidren (dialogBody);
|
|
Button btnTitle = new Button () {
|
Height = Application.GetRealHeight (80),
|
BackgroundColor = SkinStyle.Current.DialogTitle,
|
TextAlignment = TextAlignment.Center,
|
TextID = R.MyInternationalizationString.DeleteTheArea,
|
TextColor = SkinStyle.Current.DialogTextColor,
|
};
|
dialogBody.AddChidren (btnTitle);
|
TextView btnTip = new TextView () {
|
X = Application.GetRealWidth (50),
|
Y = btnTitle.Bottom,
|
Width = Application.GetRealWidth (400),
|
Height = Application.GetRealHeight (120),
|
TextColor = SkinStyle.Current.TextColor,
|
TextID = R.MyInternationalizationString.TipDelArea,
|
Enable = false,
|
TextSize = 14,
|
IsMoreLines = true,
|
};
|
dialogBody.AddChidren (btnTip);
|
btnTip.IsMoreLines = true;
|
EditText etPw = new EditText () {
|
X = Application.GetRealWidth (50),
|
Y = btnTip.Bottom + Application.GetRealHeight (10),
|
Width = Application.GetRealWidth (400),
|
Height = Application.GetRealHeight (70),
|
TextColor = SkinStyle.Current.TextColor,
|
Radius = 5,
|
BorderColor = SkinStyle.Current.BorderColor,
|
BorderWidth = 1,
|
SecureTextEntry = true,
|
};
|
dialogBody.AddChidren (etPw);
|
etPw.EditorEnterAction += (sender) => {
|
Application.HideSoftInput ();
|
};
|
|
FrameLayout bottomView = new FrameLayout () {
|
Y = Application.GetRealHeight (400 - 88),
|
Height = Application.GetRealHeight (90),
|
BackgroundColor = SkinStyle.Current.Black50Transparent,
|
};
|
dialogBody.AddChidren (bottomView);
|
|
Button btnClose = new Button () {
|
Width = Application.GetRealWidth (250),
|
TextAlignment = TextAlignment.Center,
|
TextColor = SkinStyle.Current.DialogTextColor,
|
TextID = R.MyInternationalizationString.Close,
|
BackgroundColor = SkinStyle.Current.DialogTitle,
|
};
|
bottomView.AddChidren (btnClose);
|
btnClose.MouseUpEventHandler += (asdf, eell) => {
|
dialog.Close ();
|
};
|
Button btnConfirm = new Button () {
|
X = Application.GetRealWidth (252),
|
Width = Application.GetRealWidth (250),
|
TextColor = SkinStyle.Current.DialogTextColor,
|
TextID = R.MyInternationalizationString.confirm,
|
BackgroundColor = SkinStyle.Current.DialogTitle,
|
TextAlignment = TextAlignment.Center,
|
};
|
bottomView.AddChidren (btnConfirm);
|
btnConfirm.MouseUpEventHandler += (dou, ni) => {
|
string password = etPw.Text.Trim ();
|
if (string.IsNullOrEmpty (password)) {
|
Utlis.ShowAlertOnMainThread (Language.StringByID (R.MyInternationalizationString.PasswordIsEmpty));
|
return;
|
}
|
System.Threading.Tasks.Task.Run (() => {
|
try {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Start ("Please wait...");
|
});
|
|
var revertObj = HttpServerRequest.Current.LoginByPassword (MainPage.LoginUser.AccountString, password);
|
if (revertObj.Code == StateCode.SUCCESS) {
|
//删除住宅
|
var revertObj2 = HttpServerRequest.Current.DeleteHome (home.Id);
|
if (revertObj2.Code == StateCode.SUCCESS) {
|
Application.RunOnMainThread (() => {
|
GetHomeList ();
|
});
|
} else {
|
IMessageCommon.Current.ShowErrorInfoAlter (revertObj2.Code);
|
}
|
} else {
|
Application.RunOnMainThread (() => {
|
new Alert ("", "Password error, deletion failed.", "Close").Show ();
|
});
|
}
|
} catch {
|
MainPage.FailureToServer ();
|
} finally {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
dialog.Close ();
|
});
|
}
|
});
|
};
|
|
dialog.Show ();
|
};
|
}
|
|
}
|
|
|
|
/// <summary>
|
/// 启动本地模式
|
/// </summary>
|
void EnableLocalMode () {
|
MainPage.AddTip ("Enable local mode.");
|
Utlis.ShowAppLinkStatus (AppLinkStatus.WiFiOffline);
|
CommonPage.IsRemote = false;
|
SmartHome.MqttCommon.DisConnectRemote ("EnableLocalMode", false);
|
}
|
|
/// <summary>
|
/// 启动远程模式
|
/// </summary>
|
void EnableRemoteMode ()
|
{
|
MainPage.AddTip ("Restore remote mode.");
|
Utlis.ShowAppLinkStatus (AppLinkStatus.CloudUnlink);
|
CommonPage.IsRemote = true;
|
}
|
|
/// <summary>
|
/// 跳转网关搜索页面
|
/// </summary>
|
/// <param name="home"></param>
|
void GotoGuideAddGatewayView (RegionInfoRes home) {
|
try {
|
//远程连接的时候禁止 搜索网关和添加设备
|
if (CommonPage.IsRemote) {
|
////当前处于远程连接模式,无法进入搜索网关页面。请先切换回本地连接模式。
|
//new Alert ("", "Currently in remote connection mode, unable to enter the search gateway page. Please switch back to local connection mode first.", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
//return;
|
|
//2020-06-29 启动本地通信模式
|
EnableLocalMode ();
|
}
|
|
|
var addGatewayDialog = new GuideAddGateway ();
|
(Parent as PageLayout).AddChidren (addGatewayDialog);
|
addGatewayDialog.ShowPage (home);
|
(Parent as PageLayout).PageIndex = (Parent as PageLayout).ChildrenCount - 1;
|
} catch {
|
|
Utlis.WriteLine ("============>GotoGuideAddGatewayView 跳转失败 ");
|
}
|
|
}
|
|
/// <summary>
|
/// 更换本地区域
|
/// </summary>
|
/// <param name="home">Home.</param>
|
/// <param name="gatewayMAC">Gateway mac.</param>
|
///
|
void ChangeRegion (RegionInfoRes home, bool goHomePage = true, bool bNeedCheckAddRoom = false, bool goToGuideAddGatewayView = false)
|
{
|
if (home == null || string.IsNullOrEmpty (home.Id)) return;
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Start ("Please wait...");
|
});
|
System.Threading.Tasks.Task.Run (() => {
|
try {
|
var backuplist = IO.FileUtils.ReadFiles ();
|
int index = 0;
|
if (string.IsNullOrEmpty (UserConfig.Instance.CurrentRegion.Id)) {
|
UserConfig.Instance.CurrentRegion = UserConfig.Instance.HomeLists [0];
|
}
|
string oldRegionRootPath = IO.FileUtils.CreateRegionBackup (UserConfig.Instance.CurrentRegion.Id);
|
IO.FileUtils.DeleteRegionFiles (oldRegionRootPath);
|
foreach (var fileName in backuplist) {
|
System.IO.FileInfo fileInfo = new System.IO.FileInfo (IO.FileUtils.RootPath + fileName);
|
if (fileInfo.Exists) {
|
fileInfo.MoveTo (oldRegionRootPath + fileName);
|
Utlis.WriteLine ("move file : " + fileName);
|
}
|
index++;
|
Application.RunOnMainThread (() => {
|
int pro = (int)(index * 1.0 / backuplist.Count * 50);
|
MainPage.Loading.Text = pro.ToString () + "%";
|
});
|
}
|
IO.FileUtils.DeleteAllFile ();
|
string newRegionRootPath = IO.FileUtils.CreateRegionBackup (home.Id);
|
IO.FileUtils.RestoreRegionFiles (newRegionRootPath);
|
UserConfig.Instance.CurrentRegion = home;
|
UserConfig.Instance.SaveUserConfig ();
|
Room.InitAllRoom ();
|
Application.RunOnMainThread (() => {
|
if (goToGuideAddGatewayView) {
|
IsNeedGoToGuideAddGatewayView = true;
|
}
|
GetHomeList (false);
|
|
if (goHomePage) {
|
UserConfig.Instance.RefreshUserConfig ();
|
new Alert ("", Language.StringByID (R.MyInternationalizationString.SwitchRegionSuccessfully),
|
Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
//this.RemoveFromParent ();
|
//CommonPage.IsRemote = false;
|
EquipmentPublicClass.CheckLinkRemote (UserConfig.Instance.internetStatus);
|
}
|
if (bNeedCheckAddRoom) {
|
CheckIfNeedAddRoom ();
|
}
|
});
|
MainPage.LoginUser.SaveUserInfo ();
|
} catch (Exception ex) {
|
Application.RunOnMainThread (() => {
|
new Alert ("", Language.StringByID (R.MyInternationalizationString.CheckInternet),
|
Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
});
|
Utlis.WriteLine (ex.Message);
|
} finally {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
});
|
}
|
});
|
}
|
|
/// <summary>
|
/// 引导添加住宅
|
/// </summary>
|
void GuideAddHomeDialog (RegionInfoRes home, bool guide, bool isChangeName = false, Button button = null)
|
{
|
Dialog dialog = new Dialog ();
|
|
var dialogView = new FrameLayout ();
|
dialogView.MouseUpEventHandler += (sn, dd) => {
|
if (guide)
|
return;
|
Application.HideSoftInput ();
|
};
|
dialog.AddChidren (dialogView);
|
var bodyView = new FrameLayout () {
|
Gravity = Gravity.Center,
|
Width = Application.GetRealWidth (500),
|
Height = Application.GetRealHeight (400),
|
Radius = 5,
|
BorderColor = SkinStyle.Current.Transparent,
|
BorderWidth = 0,
|
BackgroundColor = SkinStyle.Current.DialogColor,
|
};
|
dialogView.AddChidren (bodyView);
|
|
var btnTitle = new Button () {
|
Height = Application.GetRealHeight (80),
|
TextAlignment = TextAlignment.Center,
|
TextID = R.MyInternationalizationString.HonseManagement,
|
TextColor = SkinStyle.Current.DialogTextColor,
|
BackgroundColor = SkinStyle.Current.DialogTitle,
|
};
|
bodyView.AddChidren (btnTitle);
|
|
var btnZoneName = new Button () {
|
X = Application.GetRealWidth (50),
|
Y = btnTitle.Bottom + Application.GetRealHeight (10),
|
Width = Application.GetRealWidth (400),
|
Height = Application.GetRealHeight (80),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = SkinStyle.Current.TextColor,
|
TextID = R.MyInternationalizationString.ResidentialName
|
};
|
bodyView.AddChidren (btnZoneName);
|
|
var etZoneName = new EditText () {
|
X = Application.GetRealWidth (50),
|
Y = btnZoneName.Bottom + Application.GetRealHeight (10),
|
Width = Application.GetRealWidth (400),
|
Height = Application.GetRealHeight (80),
|
TextColor = SkinStyle.Current.TextColor,
|
TextAlignment = TextAlignment.Center,
|
Radius = 5,
|
BorderColor = SkinStyle.Current.BorderColor,
|
BorderWidth = 2,
|
Text = home.Name,
|
};
|
bodyView.AddChidren (etZoneName);
|
|
etZoneName.EditorEnterAction += (obj) => {
|
Application.HideSoftInput ();
|
};
|
//if (MainPage.LoginUser.AccountType == 1) {
|
// etZoneName.Enable = false;
|
// etZoneName.BorderWidth = 0;
|
//}
|
|
var BottomView = new FrameLayout () {
|
Y = Application.GetRealHeight (400 - 88),
|
Height = Application.GetRealHeight (90),
|
BackgroundColor = SkinStyle.Current.Black50Transparent,
|
};
|
bodyView.AddChidren (BottomView);
|
|
var btnOption = new Button () {
|
TextID = R.MyInternationalizationString.OK,
|
TextColor = SkinStyle.Current.DialogTextColor,
|
BackgroundColor = SkinStyle.Current.DialogTitle,
|
TextAlignment = TextAlignment.Center,
|
};
|
btnOption.MouseUpEventHandler += (sdf, fds) => {
|
dialog.Close ();
|
var homeName = etZoneName.Text.Trim ();
|
if (homeName == "") {
|
new Alert ("", Language.StringByID (R.MyInternationalizationString.PleaseEnterZoneName), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
return;
|
}
|
|
//2020-04-26
|
MainPage.Loading.Start ("Please wait...");
|
System.Threading.Tasks.Task.Run (() => {
|
try {
|
if (isChangeName) {
|
var revertObj2 = HttpServerRequest.Current.EditResidenceInfo (0, homeName);
|
if (revertObj2.Code != StateCode.SUCCESS) {
|
IMessageCommon.Current.ShowErrorInfoAlter (revertObj2.Code);
|
return;
|
}
|
Application.RunOnMainThread (() => {
|
home.Name = button.Text = homeName;
|
});
|
//IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
|
return;
|
}
|
|
EditResidence (home, homeName, guide);
|
|
} catch {
|
//MainPage.FailureToServer ();
|
} finally {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
});
|
}
|
});
|
|
};
|
|
if(!guide)
|
{
|
var btnClose = new Button () {
|
Width = Application.GetRealWidth(250),
|
TextID = R.MyInternationalizationString.cancel,
|
TextColor = SkinStyle.Current.DialogTextColor,
|
BackgroundColor = SkinStyle.Current.DialogTitle,
|
TextAlignment = TextAlignment.Center,
|
};
|
BottomView.AddChidren (btnClose);
|
btnClose.MouseUpEventHandler += (bb, cc) => {
|
dialog.Close ();
|
};
|
|
btnOption.X = btnClose.Right + 1;
|
btnOption.Width = Application.GetRealWidth (250);
|
|
}
|
BottomView.AddChidren (btnOption);
|
|
dialog.Show ();
|
|
}
|
|
/// <summary>
|
/// 添加住宅,完成之后进入搜索网关界面
|
/// </summary>
|
/// <param name="home">Home.</param>
|
/// <param name="residenceName">Et zone name string.</param>
|
bool EditResidence (RegionInfoRes home, string residenceName, bool goToGuideAddGatewayView = false)
|
{
|
if (home.Name != residenceName) {
|
|
if (string.IsNullOrEmpty(home.Id)) {
|
var revertObj21 = HttpServerRequest.Current.AddHome (residenceName);
|
if (revertObj21.Code != StateCode.SUCCESS) {
|
IMessageCommon.Current.ShowErrorInfoAlter (revertObj21.Code);
|
return false;
|
}
|
|
home.Name = residenceName;
|
//创建住宅成功,切换到该住宅
|
var newHome = Newtonsoft.Json.JsonConvert.DeserializeObject<RegionInfoResNew> (revertObj21.Data.ToString ());
|
if (newHome != null && !string.IsNullOrEmpty(newHome.Id)) {
|
home = HttpServerRequest.Current.RegionInfoResNewToHome (newHome);
|
if (UserConfig.Instance.HomeLists == null) {
|
UserConfig.Instance.HomeLists = new List<RegionInfoRes> ();
|
}
|
UserConfig.Instance.HomeLists.Add (home);
|
UserConfig.Instance.SaveUserConfig ();
|
ChangeRegion (home, true, true, goToGuideAddGatewayView);
|
}
|
} else {
|
var revertObj2 = HttpServerRequest.Current.EditResidenceInfo (0, residenceName);
|
if (revertObj2.Code != StateCode.SUCCESS) {
|
IMessageCommon.Current.ShowErrorInfoAlter (revertObj2.Code);
|
return false;
|
}
|
home.Name = residenceName;
|
//IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
|
ChangeRegion (home, false, true, goToGuideAddGatewayView);
|
//CheckIfNeedAddRoom ();
|
}
|
}else {
|
ChangeRegion (home, false, true, goToGuideAddGatewayView);
|
}
|
return true;
|
|
}
|
|
/// <summary>
|
/// 检测是否默认创建房间
|
/// </summary>
|
void CheckIfNeedAddRoom () {
|
if (Room.Lists.FindAll ((obj) => obj.Name == "Living Room" || obj.Name == "Bedroom").Count == 0) {
|
Room room = new Room ();
|
string newRoomFilePath = typeof (Room).Name + "_Living Room";
|
room.Name = "Living Room";
|
room.BackGroundImage = "Room/r1.png";
|
room.Add (newRoomFilePath);
|
room.Save (newRoomFilePath);
|
Room.Lists.Add (room);
|
|
room = new Room ();
|
newRoomFilePath = typeof (Room).Name + "_Bedroom";
|
room.Name = "Bedroom";
|
room.BackGroundImage = "Room/r5.png";
|
room.Add (newRoomFilePath);
|
room.Save (newRoomFilePath);
|
Room.Lists.Add (room);
|
|
Room.InitAllRoom ();
|
}
|
}
|
|
|
|
|
|
}
|
}
|