From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs |  278 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 172 insertions(+), 106 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
index 4bbb6c1..1973ec7 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
@@ -70,27 +70,33 @@
             string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote);
             string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
             var btnNote = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2);
+            btnNote.txtInput.MaxByte = 32;//闄愬埗鍙兘杈撳叆32涓瓧鑺�
             listview.AddChidren(btnNote);
             btnNote.InitControl();
             //鍒掔嚎
             btnNote.AddBottomLine();
-            btnNote.txtInput.FinishInputEvent += () =>
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+            if (Common.Config.Instance.Home.IsShowTemplate == false)
             {
-                string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
-                if (btnNote.Text == string.Empty)
+                btnNote.txtInput.FinishInputEvent += () =>
                 {
-                    btnNote.Text = oldName;
-                }
-                if (oldName != btnNote.Text)
-                {
-                    //淇敼鍚嶅瓧
-                    this.SetGatewayName(btnNote.Text, false);
-                }
-            };
+                    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);
+            var infoContent = HdlDeviceCommonLogic.Current.GetDeviceModelIdNameInfo("1");
+            var btnType = new FrameCaptionViewControl(caption, infoContent != null ? infoContent.A绫诲瀷鍚嶅瓧 : string.Empty, listview.rowSpace / 2);
             btnType.UseClickStatu = false;
             listview.AddChidren(btnType);
             btnType.InitControl();
@@ -106,8 +112,13 @@
             rowBeloneArea.SelectRoomEvent += (roomKeys) =>
             {
                 //鍙樻洿缃戝叧鎴块棿
-                HdlGatewayLogic.Current.ChangedGatewayRoom(this.zbGateway, roomKeys);
+                HdlRoomLogic.Current.ChangedGatewayRoom(this.zbGateway.GwId, roomKeys);
             };
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+            if (Common.Config.Instance.Home.IsShowTemplate == true)
+            {
+                rowBeloneArea.CanClick = false;
+            }
 
             //鎵�灞炰綇瀹�
             caption = Language.StringByID(R.MyInternationalizationString.uBelongResidence);
@@ -118,6 +129,44 @@
             //鍒掔嚎
             btnBeloneArea.AddBottomLine();
 
+            //mini缃戝叧鏈変釜鍔熻兘璁剧疆
+            var linuxImageType = this.zbGateway.LinuxImageType;
+            if (linuxImageType == 11)
+            {
+                var listDevice = HdlDeviceCommonLogic.Current.GetDeviceByGatewayID(this.zbGateway.GwId);
+                CommonDevice miniDevice = null;
+                foreach (var device in listDevice)
+                {
+                    //鑾峰彇杩欎釜缃戝叧涓嬬殑灏忓鐏澶�
+                    if (HdlDeviceCommonLogic.Current.IsMiniLight(device) == true)
+                    {
+                        miniDevice = device;
+                        break;
+                    }
+                }
+                //濡傛灉鎵惧緱鍒扮殑璇�
+                if (miniDevice != null)
+                {
+                    //鍔熻兘璁剧疆
+                    var rowFunction = new RowLayoutControl(listview.rowSpace / 2);
+                    listview.AddChidren(rowFunction);
+                    rowFunction.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp), 700);
+                    //鍙冲浘鏍�
+                    rowFunction.frameTable.AddRightArrow();
+                    //搴曠嚎
+                    rowFunction.frameTable.AddBottomLine();
+                    //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+                    if (Common.Config.Instance.Home.IsShowTemplate == false)
+                    {
+                        rowFunction.frameTable.ButtonClickEvent += (sender, e) =>
+                        {
+                            var form = new DeviceLight.MiniNightLightFunctionSettionForm();
+                            form.AddForm(miniDevice);
+                        };
+                    }
+                }
+            }
+
             //鏁版嵁涓婁紶涓庝笅杞�
             var rowData = new RowLayoutControl(listview.rowSpace / 2);
             listview.AddChidren(rowData);
@@ -126,11 +175,15 @@
             rowData.frameTable.AddRightArrow();
             //搴曠嚎
             rowData.frameTable.AddBottomLine();
-            rowData.frameTable.ButtonClickEvent += (sender, e) =>
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+            if (Common.Config.Instance.Home.IsShowTemplate == false)
             {
-                var form = new GatewayUploadAndDownLoadForm();
-                form.AddForm(HdlGatewayLogic.Current.GetGatewayId(this.zbGateway));
-            };
+                rowData.frameTable.ButtonClickEvent += (sender, e) =>
+                {
+                    var form = new GatewayUploadAndDownLoadForm();
+                    form.AddForm(this.zbGateway.GwId);
+                };
+            }
 
             //閫氱敤淇℃伅
             var btnGeneral = new FrameRowControl(listview.rowSpace / 2);
@@ -160,7 +213,7 @@
             btnNewVersion.Visible = false;
             btnNewVersion.X = Application.GetRealWidth(242);
             btnNewVersion.Y = Application.GetRealHeight(23);
-            rowUpDate.AddChidren(btnNewVersion, ChidrenBindMode.BindEventOnly);
+            rowUpDate.AddChidren(btnNewVersion, ChidrenBindMode.BindEvent);
             rowUpDate.ButtonClickEvent += (sender, e) =>
             {
                 btnNewVersion.Visible = false;
@@ -176,6 +229,11 @@
             var btnFinish = new BottomClickButton();
             btnFinish.TextID = R.MyInternationalizationString.uSave;
             bodyFrameLayout.AddChidren(btnFinish);
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+            if (Common.Config.Instance.Home.IsShowTemplate == true)
+            {
+                btnFinish.CanClick = false;
+            }
             btnFinish.ButtonClickEvent += (sender, e) =>
             {
                 string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
@@ -186,7 +244,7 @@
                 if (oldName != btnNote.Text)
                 {
                     //淇敼鍚嶅瓧
-                    this.SetGatewayName(btnNote.Text, false);
+                    this.SetGatewayName(btnNote.Text, true);
                 }
                 else
                 {
@@ -195,11 +253,15 @@
                 }
             };
 
-            HdlThreadLogic.Current.RunThread(() =>
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶉渶瑕佹娴�
+            if (Common.Config.Instance.Home.IsShowTemplate == false)
             {
-                //妫�娴嬫柊鐗堟湰
-                this.CheckNewVersion(btnNewVersion);
-            });
+                HdlThreadLogic.Current.RunThread(() =>
+                {
+                    //妫�娴嬫柊鐗堟湰
+                    this.CheckNewVersion(btnNewVersion);
+                });
+            }
         }
 
         #endregion
@@ -211,6 +273,11 @@
         /// </summary>
         private void InitTopRightMenu()
         {
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+            if (Common.Config.Instance.Home.IsShowTemplate == true)
+            {
+                return;
+            }
             var btnIcon = new MostRightIconControl(69, 69);
             btnIcon.UnSelectedImagePath = "Item/More.png";
             topFrameLayout.AddChidren(btnIcon);
@@ -227,8 +294,29 @@
         /// </summary>
         private void ShowTopRightMenu()
         {
-            bool flage = UserCenterResourse.DicActionForm.ContainsKey("NewGateWayMenuSelectForm");
-            var frame = new TopRightMenuControl(flage == true ? 1 : 3, 1);
+            //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹�,鍙湁瀹氫綅鍔熻兘
+            bool isSearchGw = HdlFormLogic.Current.IsFormOpen("NewGateWayMenuSelectForm");
+            int menuCount = isSearchGw == true ? 1 : 3;
+
+            bool canAddReplaceMenu = false;
+            //鑾峰彇鏈湴缃戝叧
+            var listGateway = HdlGatewayLogic.Current.GetAllLocalGateway();
+            foreach (var gw in listGateway)
+            {
+                if (gw.GwId != this.zbGateway.GwId && gw.LinuxImageType == this.zbGateway.LinuxImageType)
+                {
+                    //濡傛灉鏄悓涓�绉嶇被鍨嬬殑缃戝叧,鍏佽鍑虹幇鏇挎崲鑿滃崟
+                    canAddReplaceMenu = true;
+                    break;
+                }
+            }
+            if (canAddReplaceMenu == true
+                && Common.Config.Instance.Home.IsShowTemplate == false
+                && Common.Config.Instance.Home.IsVirtually == false)
+            {
+                //menuCount++;
+            }
+            var frame = new TopRightMenuControl(menuCount, 1);
             //瀹氫綅
             string MenuName = Language.StringByID(R.MyInternationalizationString.uFixedPosition);
             frame.AddRowMenu(MenuName, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
@@ -236,53 +324,60 @@
                 //鍙戦�佸畾浣嶅姛鑳�
                 HdlGatewayLogic.Current.SetFixedPositionCommand(zbGateway);
             });
-            if (flage == true)
-            {
-                //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹�
-                return;
-            }
 
-            //鍒囨崲
-            MenuName = Language.StringByID(R.MyInternationalizationString.uSwitch1);
-            string strWayId = HdlGatewayLogic.Current.GetGatewayId(zbGateway);
-            if (strWayId == GatewayResourse.AppOldSelectGatewayId)
+            //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹�
+            if (isSearchGw == false)
             {
-                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)
+                //鍒囨崲
+                MenuName = Language.StringByID(R.MyInternationalizationString.uSwitch1);
+                string strWayId = this.zbGateway.GwId;
+                if (strWayId == HdlGatewayResourse.AppOldSelectGatewayId)
                 {
-                    //鏄惁閲嶆柊鍒锋柊{0}缃戝叧?
-                    msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToRefreshTheGateway), "[" + nameValue + "]");
+                    MenuName = Language.StringByID(R.MyInternationalizationString.uRefresh);
                 }
-                this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+                frame.AddRowMenu(MenuName, "Item/GwSwitchIcon.png", "Item/GwSwitchIconSelected.png", () =>
                 {
-                    HdlThreadLogic.Current.RunThread(() =>
+                    string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
+                    //鏄惁鍒囨崲鍒皗0}缃戝叧?
+                    string msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToSwitchTheGateway), "[" + nameValue + "]");
+                    if (strWayId == HdlGatewayResourse.AppOldSelectGatewayId)
                     {
-                        //鎵ц鍒囨崲缃戝叧鎿嶄綔
-                        this.DoSwitchGateway();
+                        //鏄惁閲嶆柊鍒锋柊{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)
+                //鍒犻櫎
+                MenuName = Language.StringByID(R.MyInternationalizationString.uDelete);
+                frame.AddRowMenu(MenuName, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () =>
                 {
-                    msg = string.Format(msg, "\r\n");
-                }
-                this.ShowMassage(ShowMsgType.Confirm, msg, () =>
-                {
-                    this.DeleteGateway(strWayId);
+                    //濡傜Щ闄ょ綉鍏筹紝璇ョ綉鍏崇粦瀹氱殑璁惧鍒楄〃{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);
+                    });
                 });
-            });
+            }
+            //if (canAddReplaceMenu == true)
+            //{
+            //    //鏇挎崲
+            //    MenuName = Language.StringByID(R.MyInternationalizationString.uReplace);
+            //    frame.AddRowMenu(MenuName, null, "Item/ReplaceIconSelected.png", () =>
+            //    {
+            //    });
+            //}
         }
         #endregion
 
@@ -292,15 +387,15 @@
         /// 妫�娴嬫柊鐗堟湰
         /// </summary>
         /// <param name="btnNewVersion">鎻愮ず鏈夋柊鐗堟湰鐨勬帶浠�</param>
-        private async void CheckNewVersion(PicViewControl btnNewVersion)
+        private void CheckNewVersion(PicViewControl btnNewVersion)
         {
             //鑾峰彇缃戝叧鐗堟湰淇℃伅
-            var result = await HdlGatewayLogic.Current.GetGatewayAllNewVersion(this.zbGateway);
+            var result = HdlGatewayLogic.Current.GetGatewayAllNewVersion(this.zbGateway, ShowErrorMode.NO);
             if (result == null)
             {
                 return;
             }
-            Application.RunOnMainThread(() =>
+            HdlThreadLogic.Current.RunMain(() =>
             {
                 if (this.Parent != null)
                 {
@@ -310,35 +405,7 @@
                         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);
+            }, ShowErrorMode.NO);
         }
 
         #endregion
@@ -349,10 +416,10 @@
         /// 璁剧疆缃戝叧鍚嶅瓧
         /// </summary>
         /// <param name="gatewayName">缃戝叧鍚嶇О</param>
-        private async void SetGatewayName(string gatewayName, bool closeForm)
+        private void SetGatewayName(string gatewayName, bool closeForm)
         {
             //淇敼缃戝叧鍚�
-            var result = await HdlGatewayLogic.Current.ReName(zbGateway, gatewayName);
+            var result = HdlGatewayLogic.Current.ReName(zbGateway, gatewayName);
             //缃戝叧淇敼澶辫触
             if (result == false)
             {
@@ -373,10 +440,9 @@
         /// </summary>
         /// <param name="gatewayId"></param>
         /// <param name="online"></param>
-        private async void DoSwitchGateway()
+        private void DoSwitchGateway()
         {
-            string gatewayId = HdlGatewayLogic.Current.GetGatewayId(zbGateway);
-            var result = await HdlGatewayLogic.Current.DoSwitchGateway(gatewayId);
+            var result = HdlGatewayLogic.Current.DoSwitchGateway(zbGateway.GwId);
             if (result == false)
             {
                 return;
@@ -388,13 +454,13 @@
                 this.CloseForm();
 
                 //鍏抽棴鎸囧畾鐣岄潰(缃戝叧鎼滅储)
-                this.CloseFormByFormName("GatewaySearchListForm");
-                this.CloseFormByFormName("NewGateWayMenuSelectForm");
+                HdlFormLogic.Current.CloseFormByFormName("GatewaySearchListForm");
+                HdlFormLogic.Current.CloseFormByFormName("NewGateWayMenuSelectForm");
 
                 //鍏抽棴鎸囧畾鐣岄潰(缃戝叧缂栬緫)
-                this.CloseFormByFormName("GatewayListForm");
+                HdlFormLogic.Current.CloseFormByFormName("GatewayListForm");
 
-                if (UserCenterResourse.DicActionForm.ContainsKey("DeviceListMainForm") == false)
+                if (HdlFormLogic.Current.IsFormOpen("DeviceListMainForm") == false)
                 {
                     //鍒锋柊涓荤敾闈�
                     var form = new Device.DeviceListMainForm();
@@ -419,13 +485,13 @@
         /// <param name="row"></param>
         private void DeleteGateway(string strWayId)
         {
-            HdlThreadLogic.Current.RunThread(async () =>
+            HdlThreadLogic.Current.RunThread(() =>
             {
                 //鎵撳紑杩涘害鏉�
                 this.ShowProgressBar();
 
                 //鍒犻櫎浜戠缃戝叧
-                bool result = await HdlGatewayLogic.Current.DeleteGateway(strWayId);
+                bool result = HdlGatewayLogic.Current.DeleteGateway(strWayId);
                 //鍏抽棴杩涘害鏉�
                 this.CloseProgressBar();
                 if (result == false)
@@ -433,7 +499,7 @@
                     return;
                 }
 
-                if (strWayId == GatewayResourse.AppOldSelectGatewayId)
+                if (strWayId == HdlGatewayResourse.AppOldSelectGatewayId)
                 {
                     HdlGatewayLogic.Current.SaveGatewayIdToLocation(string.Empty);
                 }

--
Gitblit v1.8.0