From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 16 四月 2020 17:10:57 +0800
Subject: [PATCH] 请合并代码

---
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs |  342 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 342 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs
new file mode 100755
index 0000000..c8523c8
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayBackUpListForm.cs
@@ -0,0 +1,342 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.GatewayManage
+{
+    /// <summary>
+    /// 缃戝叧澶囦唤鐨勫垪琛ㄧ晫闈�
+    /// </summary>
+    public class GatewayBackUpListForm : EditorCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 鍒楄〃鎺т欢
+        /// </summary>
+        private VerticalListControl listView = null;
+        /// <summary>
+        /// 缃戝叧瀵硅薄(杩欎釜鏄湡瀹炵墿鐞嗙綉鍏冲璞�)
+        /// </summary>
+        private ZbGateway realGateway = null;
+        /// <summary>
+        /// 褰撳墠閫夋嫨鐨勫浠絀D
+        /// </summary>
+        private string nowSelectBackId = string.Empty;
+        /// <summary>
+        /// 褰撳墠閫夋嫨鐨勬帶浠�
+        /// </summary>
+        private MostRightIconControl nowbtnSelect = null;
+        /// <summary>
+        /// 涓嬭浇鎸夐挳
+        /// </summary>
+        private BottomClickButton btnDownload = null;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="i_zbGateway"></param>
+        public void ShowForm(ZbGateway i_zbGateway)
+        {
+            this.realGateway = i_zbGateway;
+
+            //璁剧疆鏍囬淇℃伅
+            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDwonloadData));
+
+            //鍒濆鍖栦腑閮ㄦ帶浠�
+            this.InitMiddleFrame();
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄦ帶浠�
+        /// </summary>
+        private void InitMiddleFrame()
+        {
+            //娓呯┖bodyFrame
+            this.ClearBodyFrame();
+
+            var frameBack = new FrameLayout();
+            frameBack.Height = Application.GetRealHeight(11);
+            frameBack.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(frameBack);
+
+            listView = new VerticalListControl(12);
+            listView.Y = frameBack.Bottom;
+            listView.Height = bodyFrameLayout.Height - frameBack.Height;
+            listView.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(listView);
+
+            HdlThreadLogic.Current.RunThread(() =>
+            {
+                //浠庝簯绔幏鍙栨暟鎹�
+                this.SetBackupInfoToForm();
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 浠庝簯绔幏鍙栨暟鎹甠____________________
+
+        /// <summary>
+        /// 浠庝簯绔幏鍙栨暟鎹�
+        /// </summary>
+        private async void SetBackupInfoToForm()
+        {
+            this.nowSelectBackId = string.Empty;
+            this.nowbtnSelect = null;
+
+            //杩涘害鏉�
+            this.ShowProgressBar();
+
+            //鑾峰彇鑷姩澶囦唤鐨勬暟鎹�
+            var pageAuto = await HdlBackupLogic.Current.GetBackupListNameFromDB(3, HdlGatewayLogic.Current.GetGatewayId(realGateway));
+            if (pageAuto == null)
+            {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar(ShowReLoadMode.YES);
+                return;
+            }
+
+            //浠庝簯绔幏鍙栨暟鎹� 
+            var pageData = await HdlBackupLogic.Current.GetBackupListNameFromDB(2, HdlGatewayLogic.Current.GetGatewayId(realGateway));
+            if (pageData == null)
+            {
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar(ShowReLoadMode.YES);
+                return;
+            }
+            //鍏抽棴杩涘害鏉�
+            this.CloseProgressBar();
+
+            HdlThreadLogic.Current.RunMain(() =>
+            {
+                listView.RemoveAll();
+                listView.RecoverHeight();
+
+                //鑷姩澶囦唤鐨処D
+                string autoID = string.Empty;
+                if (pageAuto.Count > 0)
+                {
+                    autoID = pageAuto[0].Id;
+                    //娣诲姞鑷姩澶囦唤琛�
+                    this.AddRowlayout(pageAuto[0], pageData.Count > 0, true);
+                }
+
+                for (int i = 0; i < pageData.Count; i++)
+                {
+                    //娣诲姞澶囦唤琛�
+                    this.AddRowlayout(pageData[i], i != pageData.Count - 1, false);
+                }
+
+                this.btnDownload?.RemoveFromParent();
+                if (pageData.Count > 0 || pageAuto.Count > 0)
+                {
+                    //涓嬭浇
+                    this.btnDownload = new BottomClickButton();
+                    btnDownload.TextID = R.MyInternationalizationString.uDownLoad;
+                    bodyFrameLayout.AddChidren(btnDownload);
+                    btnDownload.ButtonClickEvent += (sender, e) =>
+                    {
+                        if (this.nowSelectBackId == string.Empty)
+                        {
+                            return;
+                        }
+                        //鏄惁瑕佷笅杞藉苟鎭㈠鏁版嵁锛�
+                        string msg = Language.StringByID(R.MyInternationalizationString.uDownLoadAndRecoverMsg);
+                        this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+                         {
+                             HdlThreadLogic.Current.RunThread(() =>
+                             {
+                                 //璇诲彇澶囦唤鏂囨。
+                                 bool result = HdlGatewayBackupLogic.Current.RecoverGateway(this.realGateway, this.nowSelectBackId, autoID == this.nowSelectBackId ? 1 : 0);
+                                 if (result == true)
+                                 {
+                                     HdlThreadLogic.Current.RunMain(() =>
+                                     {
+                                         //鍏抽棴杩欎釜鐣岄潰
+                                         this.CloseForm();
+                                     });
+                                 }
+                             });
+                         });
+                    };
+                    //璋冩暣鐪熷疄楂樺害
+                    listView.AdjustRealHeightByBottomButton(Application.GetRealHeight(23));
+                }
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 娣诲姞澶囦唤琛宊________________________
+
+        /// <summary>
+        /// 娣诲姞澶囦唤琛�
+        /// </summary>
+        /// <param name="fileInfo"></param>
+        /// <param name="addLine"></param>
+        /// <param name="isAuto"></param>
+        private void AddRowlayout(BackupListNameInfo fileInfo, bool addLine, bool isAuto)
+        {
+            var rowLayout = new RowLayoutControl(listView.rowSpace / 2);
+            listView.AddChidren(rowLayout);
+
+            //澶囦唤鍚嶅瓧
+            var txtText = rowLayout.frameTable.AddTopView(fileInfo.BackupName, 700);
+            if (isAuto == true)
+            {
+                txtText.TextID = R.MyInternationalizationString.uAutoBackup;
+            }
+
+            //鏃堕棿 2019-11-11T11:31:01
+            var btnTime = rowLayout.frameTable.AddBottomView("", 600);
+            if (fileInfo.CreatedOnUtc.Length >= 19)
+            {
+                btnTime.Text = UserCenterLogic.ConvertUtcTimeToLocalTime(fileInfo.CreatedOnUtc).ToString("yyyy.MM.dd HH:mm:ss");
+            }
+            //搴曠嚎
+            if (addLine == true)
+            {
+                rowLayout.frameTable.AddBottomLine();
+            }
+
+            //閫夋嫨
+            var btnSelect = rowLayout.frameTable.AddMostRightEmptyIcon(58, 58);
+            btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
+            btnSelect.SelectedImagePath = "Item/ItemSelected.png";
+            rowLayout.frameTable.ButtonClickEvent += (sender, e) =>
+            {
+                btnSelect.IsSelected = !btnSelect.IsSelected;
+                if (btnSelect.IsSelected == true)
+                {
+                    this.nowSelectBackId = fileInfo.Id;
+                    if (nowbtnSelect != null)
+                    {
+                        nowbtnSelect.IsSelected = false;
+                    }
+                    nowbtnSelect = btnSelect;
+                }
+                else
+                {
+                    this.nowSelectBackId = string.Empty;
+                    this.nowbtnSelect = null;
+                }
+            };
+
+            //鑷姩澶囦唤涓嶅厑璁哥紪杈�
+            if (isAuto == false)
+            {
+                //缂栬緫
+                var btnEditor = rowLayout.AddEditorControl();
+                btnEditor.ButtonClickEvent += (sender, e) =>
+                {
+                    //鏄剧ず缂栬緫澶囪�冨悕鐢婚潰
+                    this.ShowEditorBackupForm(fileInfo);
+                };
+            }
+
+            //鍒犻櫎
+            var btnDelete = rowLayout.AddDeleteControl();
+            btnDelete.ButtonClickEvent += (sender, e) =>
+            {
+                //纭鍒犻櫎璇ュ浠芥暟鎹�?
+                string msg = Language.StringByID(R.MyInternationalizationString.uDoDeleteBackupMsg);
+                this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+                {
+                    //鍒犻櫎澶囦唤鏂囨。
+                    this.DeleteBackInfo(fileInfo.Id);
+                });
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 缂栬緫澶囦唤鍚嶇О_______________________
+
+        /// <summary>
+        /// 缂栬緫澶囦唤鍚嶇О
+        /// </summary>
+        /// <param name="BackupClassId"></param>
+        /// <param name="backName"></param>
+        private async void EditorBackInfo(string BackupClassId, string backName)
+        {
+            var Pra = new EditorBackUpNamePra();
+            Pra.BackupClassId = BackupClassId;
+            Pra.BackupName = backName;
+            //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken
+            Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
+
+            bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/UpdateHomeAppGatewayName", true, Pra);
+            if (result == false)
+            {
+                return;
+            }
+
+            this.SetBackupInfoToForm();
+        }
+
+        #endregion
+
+        #region 鈻� 鍒犻櫎澶囦唤鏂囨。_______________________
+
+        /// <summary>
+        /// 鍒犻櫎澶囦唤鏂囨。
+        /// </summary>
+        /// <param name="BackupClassId"></param>
+        private async void DeleteBackInfo(string BackupClassId)
+        {
+            bool success = await HdlBackupLogic.Current.DeleteDbBackupData(BackupClassId);
+            if (success == false)
+            {
+                return;
+            }
+            if (this.nowSelectBackId == BackupClassId)
+            {
+                this.nowSelectBackId = string.Empty;
+                this.nowbtnSelect = null;
+            }
+            this.SetBackupInfoToForm();
+        }
+
+        #endregion
+
+        #region 鈻� 鏄剧ず缂栬緫澶囪�冨悕鐢婚潰_________________
+
+        /// <summary>
+        /// 鏄剧ず缂栬緫澶囪�冨悕鐢婚潰
+        /// </summary>
+        /// <param name="fileInfo"></param>
+        /// <returns></returns>
+        private void ShowEditorBackupForm(BackupListNameInfo fileInfo)
+        {
+            //鐢熸垚涓�涓脊绐楃敾闈�
+            var dialogForm = new DialogInputControl();
+
+            //缂栬緫澶囦唤
+            dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorBackup));
+            //璇疯緭鍏ュ浠藉悕绉�
+            dialogForm.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackupName));
+            dialogForm.Text = fileInfo.BackupName;
+
+            //鎸変笅纭鎸夐挳
+            dialogForm.ComfirmClickEvent += ((txtvalue) =>
+            {
+                //鐢婚潰鍏抽棴
+                dialogForm.CloseDialog();
+                //鍚嶅瓧涓�鏍锋椂锛屼笉澶勭悊
+                if (txtvalue != fileInfo.BackupName)
+                {
+                    //缂栬緫澶囦唤鍚嶇О
+                    this.EditorBackInfo(fileInfo.Id, txtvalue);
+                }
+            });
+        }
+
+        #endregion
+    }
+}

--
Gitblit v1.8.0