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