From da3634e011bbda29cf4e1c168997b780fe795b20 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 13 五月 2020 09:05:23 +0800
Subject: [PATCH] 优化新风模块和新风面板的测试功能,请合并代码
---
ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs | 450 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 450 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
new file mode 100755
index 0000000..4bbb6c1
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
@@ -0,0 +1,450 @@
+锘縰sing System;
+using ZigBee.Device;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
+namespace Shared.Phone.UserCenter.GatewayManage
+{
+ /// <summary>
+ /// 缂栬緫缃戝叧淇℃伅鐨勭敾闈I鈽�
+ /// </summary>
+ public class GatewayInfoEditorForm : EditorCommonForm
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 鍒楄〃鎺т欢
+ /// </summary>
+ private FrameListControl listview = null;
+ /// <summary>
+ /// 褰撳墠閫夋嫨鐨勭綉鍏�
+ /// </summary>
+ private ZbGateway zbGateway = null;
+
+ #endregion
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+ /// </summary>
+ /// <param name="i_zbGateway">褰撳墠閫夋嫨鐨勭綉鍏�</param>
+ public void ShowForm(ZbGateway i_zbGateway)
+ {
+ this.zbGateway = i_zbGateway;
+
+ //璁剧疆鏍囬淇℃伅
+ base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceSettion));
+
+ //鍒濆鍖栧彸涓婅鑿滃崟
+ this.InitTopRightMenu();
+
+ //鍒濆鍖栦腑閮ㄦ帶浠�
+ this.InitMiddleFrame();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栦腑閮ㄦ帶浠�
+ /// </summary>
+ private void InitMiddleFrame()
+ {
+ //娓呯┖bodyFrame
+ this.ClearBodyFrame();
+
+ var listBackControl = new VerticalFrameControl();
+ listBackControl.Height = bodyFrameLayout.Height;
+ bodyFrameLayout.AddChidren(listBackControl);
+
+ //鍒濆鍖栨甯�
+ var tableContr = new InformationEditorControl();
+ this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 1368);
+
+ //鍥剧墖
+ var btnPic = new DeviceInfoIconControl();
+ btnPic.Y = Application.GetRealHeight(92);
+ btnPic.Gravity = Gravity.CenterHorizontal;
+ listBackControl.frameTable.AddChidren(btnPic);
+ btnPic.InitControl(this.zbGateway);
+
+ //璁惧澶囨敞
+ string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote);
+ string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
+ var btnNote = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2);
+ listview.AddChidren(btnNote);
+ btnNote.InitControl();
+ //鍒掔嚎
+ btnNote.AddBottomLine();
+ btnNote.txtInput.FinishInputEvent += () =>
+ {
+ string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
+ if (btnNote.Text == string.Empty)
+ {
+ btnNote.Text = oldName;
+ }
+ if (oldName != btnNote.Text)
+ {
+ //淇敼鍚嶅瓧
+ this.SetGatewayName(btnNote.Text, false);
+ }
+ };
+
+ //璁惧绫诲瀷 (鍥哄畾鏅鸿兘缃戝叧)
+ caption = Language.StringByID(R.MyInternationalizationString.uDeviceType);
+ var btnType = new FrameCaptionViewControl(caption, Language.StringByID(60004), listview.rowSpace / 2);
+ btnType.UseClickStatu = false;
+ listview.AddChidren(btnType);
+ btnType.InitControl();
+ //鍒掔嚎
+ btnType.AddBottomLine();
+
+ //瀹夎浣嶇疆
+ var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2);
+ listview.AddChidren(rowBeloneArea);
+ rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uInstallationLocation), this.zbGateway);
+ //搴曠嚎
+ rowBeloneArea.AddBottomLine();
+ rowBeloneArea.SelectRoomEvent += (roomKeys) =>
+ {
+ //鍙樻洿缃戝叧鎴块棿
+ HdlGatewayLogic.Current.ChangedGatewayRoom(this.zbGateway, roomKeys);
+ };
+
+ //鎵�灞炰綇瀹�
+ caption = Language.StringByID(R.MyInternationalizationString.uBelongResidence);
+ var btnBeloneArea = new FrameCaptionViewControl(caption, Common.Config.Instance.Home.Name, listview.rowSpace / 2);
+ btnBeloneArea.UseClickStatu = false;
+ listview.AddChidren(btnBeloneArea);
+ btnBeloneArea.InitControl();
+ //鍒掔嚎
+ btnBeloneArea.AddBottomLine();
+
+ //鏁版嵁涓婁紶涓庝笅杞�
+ var rowData = new RowLayoutControl(listview.rowSpace / 2);
+ listview.AddChidren(rowData);
+ rowData.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDataUploadAndDownLoad), 700);
+ //鍙冲浘鏍�
+ rowData.frameTable.AddRightArrow();
+ //搴曠嚎
+ rowData.frameTable.AddBottomLine();
+ rowData.frameTable.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new GatewayUploadAndDownLoadForm();
+ form.AddForm(HdlGatewayLogic.Current.GetGatewayId(this.zbGateway));
+ };
+
+ //閫氱敤淇℃伅
+ var btnGeneral = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnGeneral);
+ btnGeneral.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uGeneralInformation), 600);
+ //鍚戝彸鍥炬爣
+ btnGeneral.AddRightArrow();
+ //搴曠嚎
+ btnGeneral.AddBottomLine();
+ btnGeneral.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new GatewayGeneralInformationForm();
+ form.AddForm(zbGateway);
+ };
+
+ //鍥轰欢鍗囩骇
+ var rowUpDate = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(rowUpDate);
+ rowUpDate.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uFirmwareUpdate), 600);
+ //鍚戝彸鍥炬爣
+ rowUpDate.AddRightArrow();
+ //搴曠嚎
+ rowUpDate.AddBottomLine();
+ //鎻愮ず鏈夋柊鐗堟湰
+ var btnNewVersion = new PicViewControl(78, 55);
+ btnNewVersion.UnSelectedImagePath = "Item/NewVersion.png";
+ btnNewVersion.Visible = false;
+ btnNewVersion.X = Application.GetRealWidth(242);
+ btnNewVersion.Y = Application.GetRealHeight(23);
+ rowUpDate.AddChidren(btnNewVersion, ChidrenBindMode.BindEventOnly);
+ rowUpDate.ButtonClickEvent += (sender, e) =>
+ {
+ btnNewVersion.Visible = false;
+ var form = new GatewayUpdate.GatewayFirmwareUpdateForm();
+ form.AddForm(zbGateway);
+ };
+
+ //鍒濆鍖栨甯冨畬鎴�
+ tableContr.FinishInitControl();
+ tableContr = null;
+
+ //淇濆瓨
+ var btnFinish = new BottomClickButton();
+ btnFinish.TextID = R.MyInternationalizationString.uSave;
+ bodyFrameLayout.AddChidren(btnFinish);
+ btnFinish.ButtonClickEvent += (sender, e) =>
+ {
+ string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
+ if (btnNote.Text == string.Empty)
+ {
+ btnNote.Text = oldName;
+ }
+ if (oldName != btnNote.Text)
+ {
+ //淇敼鍚嶅瓧
+ this.SetGatewayName(btnNote.Text, false);
+ }
+ else
+ {
+ //鍏抽棴鑷韩
+ this.CloseForm();
+ }
+ };
+
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ //妫�娴嬫柊鐗堟湰
+ this.CheckNewVersion(btnNewVersion);
+ });
+ }
+
+ #endregion
+
+ #region 鈻� 鍙充笂瑙掕彍鍗昣________________________
+
+ /// <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) =>
+ {
+ //鏄剧ず鍙充笂瑙掕彍鍗曠晫闈�
+ this.ShowTopRightMenu();
+ });
+ }
+
+ /// <summary>
+ /// 鏄剧ず鍙充笂瑙掕彍鍗曠晫闈�
+ /// </summary>
+ private void ShowTopRightMenu()
+ {
+ bool flage = UserCenterResourse.DicActionForm.ContainsKey("NewGateWayMenuSelectForm");
+ var frame = new TopRightMenuControl(flage == true ? 1 : 3, 1);
+ //瀹氫綅
+ string MenuName = Language.StringByID(R.MyInternationalizationString.uFixedPosition);
+ frame.AddRowMenu(MenuName, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
+ {
+ //鍙戦�佸畾浣嶅姛鑳�
+ HdlGatewayLogic.Current.SetFixedPositionCommand(zbGateway);
+ });
+ if (flage == true)
+ {
+ //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹�
+ return;
+ }
+
+ //鍒囨崲
+ MenuName = Language.StringByID(R.MyInternationalizationString.uSwitch1);
+ string strWayId = HdlGatewayLogic.Current.GetGatewayId(zbGateway);
+ if (strWayId == GatewayResourse.AppOldSelectGatewayId)
+ {
+ MenuName = Language.StringByID(R.MyInternationalizationString.uRefresh);
+ }
+ frame.AddRowMenu(MenuName, "Item/GwSwitchIcon.png", "Item/GwSwitchIconSelected.png", () =>
+ {
+ string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
+ //鏄惁鍒囨崲鍒皗0}缃戝叧?
+ string msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToSwitchTheGateway), "[" + nameValue + "]");
+ if (strWayId == GatewayResourse.AppOldSelectGatewayId)
+ {
+ //鏄惁閲嶆柊鍒锋柊{0}缃戝叧?
+ msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToRefreshTheGateway), "[" + nameValue + "]");
+ }
+ this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+ {
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ //鎵ц鍒囨崲缃戝叧鎿嶄綔
+ this.DoSwitchGateway();
+ });
+ });
+ });
+ //鍒犻櫎
+ MenuName = Language.StringByID(R.MyInternationalizationString.uDelete);
+ frame.AddRowMenu(MenuName, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () =>
+ {
+ //濡傜Щ闄ょ綉鍏筹紝璇ョ綉鍏崇粦瀹氱殑璁惧鍒楄〃{0}灏嗘竻绌猴紝纭缁х画鎵ц璇ユ搷浣滐紵
+ string msg = Language.StringByID(R.MyInternationalizationString.uUnBindedMsg);
+ if (msg.Contains("{0}") == true)
+ {
+ msg = string.Format(msg, "\r\n");
+ }
+ this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+ {
+ this.DeleteGateway(strWayId);
+ });
+ });
+ }
+ #endregion
+
+ #region 鈻� 妫�娴嬫柊鐗堟湰_________________________
+
+ /// <summary>
+ /// 妫�娴嬫柊鐗堟湰
+ /// </summary>
+ /// <param name="btnNewVersion">鎻愮ず鏈夋柊鐗堟湰鐨勬帶浠�</param>
+ private async void CheckNewVersion(PicViewControl btnNewVersion)
+ {
+ //鑾峰彇缃戝叧鐗堟湰淇℃伅
+ var result = await HdlGatewayLogic.Current.GetGatewayAllNewVersion(this.zbGateway);
+ if (result == null)
+ {
+ return;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ if (this.Parent != null)
+ {
+ if (result[0] != null || result[1] != null || result[2] != null)
+ {
+ //鎻愮ず鏈夋柊鐗堟湰
+ btnNewVersion.Visible = true;
+ }
+ }
+ });
+ }
+
+ #endregion
+
+ #region 鈻� 瀹屾垚鎸夐挳鎸変笅_______________________
+
+ /// <summary>
+ /// 瀹屾垚鎸夐挳鎸変笅
+ /// </summary>
+ /// <param name="gatewayName">缃戝叧鍚�</param>
+ private void FinishButtonClick(string gatewayName)
+ {
+ if (string.IsNullOrEmpty(gatewayName) == true)
+ {
+ //璇疯緭鍏ョ綉鍏冲悕绉�
+ string msg = Language.StringByID(R.MyInternationalizationString.uGatewayNameMastInput);
+ this.ShowMassage(ShowMsgType.Error, msg);
+ return;
+ }
+ string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
+ if (nameValue == gatewayName)
+ {
+ //鍚屽悕涓嶉渶瑕佸鐞�
+ this.CloseForm();
+ return;
+ }
+ //淇敼鍚嶅瓧
+ this.SetGatewayName(gatewayName, true);
+ }
+
+ #endregion
+
+ #region 鈻� 淇敼鍚嶅瓧___________________________
+
+ /// <summary>
+ /// 璁剧疆缃戝叧鍚嶅瓧
+ /// </summary>
+ /// <param name="gatewayName">缃戝叧鍚嶇О</param>
+ private async void SetGatewayName(string gatewayName, bool closeForm)
+ {
+ //淇敼缃戝叧鍚�
+ var result = await HdlGatewayLogic.Current.ReName(zbGateway, gatewayName);
+ //缃戝叧淇敼澶辫触
+ if (result == false)
+ {
+ return;
+ }
+ if (closeForm == true)
+ {
+ //鍏抽棴鐣岄潰
+ this.CloseForm();
+ }
+ }
+ #endregion
+
+ #region 鈻� 缃戝叧鍒囨崲___________________________
+
+ /// <summary>
+ /// 鎵ц鍒囨崲缃戝叧鎿嶄綔
+ /// </summary>
+ /// <param name="gatewayId"></param>
+ /// <param name="online"></param>
+ private async void DoSwitchGateway()
+ {
+ string gatewayId = HdlGatewayLogic.Current.GetGatewayId(zbGateway);
+ var result = await HdlGatewayLogic.Current.DoSwitchGateway(gatewayId);
+ if (result == false)
+ {
+ return;
+ }
+
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //鍏抽棴鑷韩
+ this.CloseForm();
+
+ //鍏抽棴鎸囧畾鐣岄潰(缃戝叧鎼滅储)
+ this.CloseFormByFormName("GatewaySearchListForm");
+ this.CloseFormByFormName("NewGateWayMenuSelectForm");
+
+ //鍏抽棴鎸囧畾鐣岄潰(缃戝叧缂栬緫)
+ this.CloseFormByFormName("GatewayListForm");
+
+ if (UserCenterResourse.DicActionForm.ContainsKey("DeviceListMainForm") == false)
+ {
+ //鍒锋柊涓荤敾闈�
+ var form = new Device.DeviceListMainForm();
+ form.AddForm();
+ }
+ else
+ {
+ //鍒锋柊涓荤敾闈�(涓嶉噸鏂拌幏鍙栬澶囩姸鎬�)
+ this.LoadFormMethodByName("DeviceListMainForm", "InitMiddleFrame");
+ }
+ });
+ }
+
+ #endregion
+
+ #region 鈻� 瑙g粦缃戝叧___________________________
+
+ /// <summary>
+ /// 瑙g粦缃戝叧
+ /// </summary>
+ /// <param name="strWayId"></param>
+ /// <param name="row"></param>
+ private void DeleteGateway(string strWayId)
+ {
+ HdlThreadLogic.Current.RunThread(async () =>
+ {
+ //鎵撳紑杩涘害鏉�
+ this.ShowProgressBar();
+
+ //鍒犻櫎浜戠缃戝叧
+ bool result = await HdlGatewayLogic.Current.DeleteGateway(strWayId);
+ //鍏抽棴杩涘害鏉�
+ this.CloseProgressBar();
+ if (result == false)
+ {
+ return;
+ }
+
+ if (strWayId == GatewayResourse.AppOldSelectGatewayId)
+ {
+ HdlGatewayLogic.Current.SaveGatewayIdToLocation(string.Empty);
+ }
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //鍏抽棴鑷韩
+ this.CloseForm();
+ });
+ });
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0