From 4a61a132ce09b1fd42fd80fcbff1855bad4c0f48 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 15 一月 2020 11:15:24 +0800
Subject: [PATCH] 2020-01-15 1.优化。
---
Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs | 140 ++++++++++++++++++++++++++++++++++++----------
1 files changed, 108 insertions(+), 32 deletions(-)
diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
index d0b57dd..1cbb57a 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Guide/GuideAddResidence.cs
@@ -197,7 +197,7 @@
/// </summary>
/// <param name="home">Home.</param>
/// <param name="VerticalScrolViewMiddle">Vertical scrol view middle.</param>
- void AddResidenceListRow (RegionInfoRes home, VerticalScrolViewLayout VerticalScrolViewMiddle )
+ void AddResidenceListRow (RegionInfoRes home, VerticalScrolViewLayout VerticalScrolViewMiddle)
{
var rowView = new RowLayout () {
Height = Application.GetRealHeight (110),
@@ -231,11 +231,28 @@
};
rowView.AddChidren (btnName);
+
+ //鏄剧ず鍒嗕韩鎸夐挳
+ if (home.IsOthreShare) {
+ Button FromSharingButton = new Button () {
+ X = Application.GetRealWidth (480),
+ Width = Application.GetRealWidth (30),
+ Height = Application.GetRealHeight (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 () {
@@ -247,8 +264,17 @@
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;
+ }
//UserConfig.Instance.GatewayMAC = gatewayMAC;
var addGatewayDialog = new GuideAddGateway ();
(Parent as PageLayout).AddChidren (addGatewayDialog);
@@ -258,11 +284,16 @@
ChangeRegion (home);
}
};
- rightButton1.MouseUpEventHandler += eHandler;
+ rightButton1.MouseUpEventHandler += eHandler;
goNextButton.MouseUpEventHandler += eHandler;
- btnName.MouseUpEventHandler += (sender,e)=> {
+ btnName.MouseUpEventHandler += (sender, e) => {
if (home.Id == UserConfig.Instance.CurrentRegion.Id) {
- GuideAddHomeDialog (home, false,true, btnName);
+ if (home.IsOthreShare) {
+ //鎻愮ず娌℃湁鍒嗕韩浣忓畢鐨勬潈闄�
+ new Alert ("", ErrorCode.InsufficientAuthority, "Close").Show ();
+ return;
+ }
+ GuideAddHomeDialog (home, false, true, btnName);
} else {
ChangeRegion (home);
}
@@ -285,6 +316,12 @@
};
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 () {
@@ -375,7 +412,7 @@
var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString, Password = password };
var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
var revertObj = MainPage.RequestHttps (API.Login, requestJson);
- if (revertObj.StateCode.ToUpper() == "SUCCESS") {
+ if (revertObj.StateCode.ToUpper () == "SUCCESS") {
var requestObj2 = new DelHomeObj () {
HomeId = home.Id,
@@ -439,7 +476,8 @@
/// </summary>
/// <param name="home">Home.</param>
/// <param name="gatewayMAC">Gateway mac.</param>
- void ChangeRegion (RegionInfoRes home, bool goHomePage = true)
+ ///
+ void ChangeRegion (RegionInfoRes home, bool goHomePage = true, bool bNeedCheckAddRoom = false, bool goToGuideAddGatewayView = false)
{
if (home == null || string.IsNullOrEmpty (home.Id)) return;
@@ -475,6 +513,7 @@
Application.RunOnMainThread (() => {
ShowHomeList (false);
+
if (goHomePage) {
UserConfig.Instance.RefreshUserConfig ();
new Alert ("", Language.StringByID (R.MyInternationalizationString.SwitchRegionSuccessfully),
@@ -483,8 +522,20 @@
CommonPage.IsRemote = false;
EquipmentPublicClass.CheckLinkRemote (2);
}
+ if (bNeedCheckAddRoom) {
+ CheckIfNeedAddRoom ();
+ }
+
+ if (goToGuideAddGatewayView) {
+ var addGatewayDialog = new GuideAddGateway ();
+ UserMiddle.guidePageView.AddChidren (addGatewayDialog);
+ addGatewayDialog.ShowPage (home);//guidePageView
+ UserMiddle.guidePageView.PageIndex = 1;
+ }
});
MainPage.LoginUser.SaveUserInfo ();
+
+
//}
} catch (Exception ex) {
Application.RunOnMainThread (() => {
@@ -587,8 +638,8 @@
return;
}
if (isChangeName) {
- home.Name = button.Text = etZoneName.Text;
- var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = home.Name, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
+ //home.Name = button.Text = etZoneName.Text;
+ var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = etZoneName.Text, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
string urlHead = MainPage.RequestHttpsHost;
if (requestObj2.IsOtherAccountCtrl) {
urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
@@ -597,24 +648,31 @@
var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
+ if (revertObj2.StateCode.ToUpper () != "SUCCESS") {
+ ShowEditHomeErrorInfo (revertObj2.StateCode);
+ return;
+ }
+ home.Name = button.Text = etZoneName.Text;
IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
return;
}
- ChangeRegion (home, false);
- var addGatewayDialog = new GuideAddGateway ();
- if (guide) {
- //ShowHomeList ();
- EditResidence (home, etZoneName.Text.Trim ());
- UserMiddle.guidePageView.AddChidren (addGatewayDialog);
- addGatewayDialog.ShowPage (home);//guidePageView
- UserMiddle.guidePageView.PageIndex = 1;
- } else {
- EditResidence (home, etZoneName.Text.Trim ());
- //UserMiddle.SettingPageView.AddChidren (addGatewayDialog);
- //addGatewayDialog.ShowPage (home);
- //UserMiddle.SettingPageView.PageIndex = 2;
- }
+ //ChangeRegion (home, false);
+ EditResidence (home, etZoneName.Text.Trim (), guide);
+
+
+ //if (guide) {
+
+ // //ShowHomeList ();
+ // EditResidence (home, etZoneName.Text.Trim ());
+ // var addGatewayDialog = new GuideAddGateway ();
+ // UserMiddle.guidePageView.AddChidren (addGatewayDialog);
+ // addGatewayDialog.ShowPage (home);//guidePageView
+ // UserMiddle.guidePageView.PageIndex = 1;
+ //} else {
+ // EditResidence (home, etZoneName.Text.Trim ());
+
+ //}
};
if(!guide)
@@ -646,10 +704,10 @@
/// </summary>
/// <param name="home">Home.</param>
/// <param name="residenceName">Et zone name string.</param>
- bool EditResidence (RegionInfoRes home,string residenceName)
+ bool EditResidence (RegionInfoRes home, string residenceName, bool goToGuideAddGatewayView = false)
{
if (home.Name != residenceName) {
- home.Name = residenceName;
+
if (string.IsNullOrEmpty(home.Id)) {
var requestObj21 = new AddHomeObj () {
Name = residenceName ,
@@ -662,8 +720,15 @@
ShowAddHomeErrorInfo (revertObj21.StateCode);
return false;
}
+ home.Name = residenceName;
+ //鍒涘缓浣忓畢鎴愬姛锛屽垏鎹㈠埌璇ヤ綇瀹�
+ var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>> (revertObj21.ResponseData.ToString ());
+ if (responseDataObj != null && responseDataObj.Count > 0) {
+ ChangeRegion (responseDataObj [0], false, true, goToGuideAddGatewayView);
+
+ }
} else {
- var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = home.Name, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
+ var requestObj2 = new EditHomeObj () { HomeId = home.Id, Name = residenceName, LoginAccessToken = MainPage.LoginUser.LoginTokenString };
string urlHead = MainPage.RequestHttpsHost;
if (requestObj2.IsOtherAccountCtrl) {
urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
@@ -671,18 +736,32 @@
}
var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
var revertObj2 = MainPage.RequestHttps (API.EditHome, requestJson2, urlHead);
- IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
if (revertObj2.StateCode.ToUpper() != "SUCCESS") {
ShowEditHomeErrorInfo (revertObj2.StateCode);
return false;
}
+ home.Name = residenceName;
+ IO.FileUtils.ReNameFoler (UserConfig.Instance.CurrentRegion.Name, home.Name);
+ ChangeRegion (home, false, true, goToGuideAddGatewayView);
+ //CheckIfNeedAddRoom ();
}
- ShowHomeList (false);
+ //ShowHomeList (false);
//2020-01-09 鍘绘帀鍒囨崲浣忓畢
//UserConfig.Instance.CurrentRegion = home;
//UserConfig.Instance.SaveUserConfig ();
+ }else {
+ ChangeRegion (home, false, true, goToGuideAddGatewayView);
+ //CheckIfNeedAddRoom ();
}
+ 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";
@@ -699,12 +778,9 @@
room.Add (newRoomFilePath);
room.Save (newRoomFilePath);
Room.Lists.Add (room);
+
+ Room.InitAllRoom ();
}
- if (home.Name != residenceName) {
- ShowHomeList ();
- }
- return true;
-
}
--
Gitblit v1.8.0