From 365eadb33ee86b05ac74d408025d102a758c2efd Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 一月 2020 15:27:17 +0800
Subject: [PATCH] 2020-01-10 2020-01-10 1.修改切换本地和远程问题。 2.修改判断住宅网关方案。 3.其它优化修改。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Register/Databackup.cs |   61 +++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 10 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/Databackup.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/Databackup.cs
index f782a26..097b679 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/Databackup.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/Databackup.cs
@@ -112,7 +112,7 @@
                             try {
                                 var backuplist = IO.FileUtils.ReadFiles ();
                                 int index = 0;
-                                string oldRegionRootPath = IO.FileUtils.CreateRegionBackup (UserConfig.Instance.CurrentRegion.Name);
+                                string oldRegionRootPath = IO.FileUtils.CreateRegionBackup (UserConfig.Instance.CurrentRegion.Id);
                                 IO.FileUtils.DeleteRegionFiles (oldRegionRootPath);
                                 foreach (var fileName in backuplist) {
                                     System.IO.FileInfo fileInfo = new System.IO.FileInfo (IO.FileUtils.RootPath + fileName);
@@ -127,7 +127,7 @@
                                     });
                                 }
                                 IO.FileUtils.DeleteAllFile ();
-                                string newRegionRootPath = IO.FileUtils.CreateRegionBackup (homeTemp.Name);
+                                string newRegionRootPath = IO.FileUtils.CreateRegionBackup (homeTemp.Id);
                                 IO.FileUtils.RestoreRegionFiles (newRegionRootPath);
                                 UserConfig.Instance.RefreshUserConfig ();
                                 UserConfig.Instance.CurrentRegion = homeTemp;
@@ -302,9 +302,15 @@
                         HomeId = UserConfig.Instance.CurrentRegion.Id,
                         LoginAccessToken = MainPage.LoginUser.LoginTokenString
                     };
+                    string urlHead = MainPage.RequestHttpsHost;
+                    if (requestObj.IsOtherAccountCtrl) {
+                        urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                        requestObj.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                    }
+
                     //GetUserFolderObj requestObj = new GetUserFolderObj () { LevelID = UserConfig.Instance.CurrentRegion.Id };
                     var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
-                    var revertObj = MainPage.RequestHttps (API.GetHomeDataBackupPagger, requestJson);
+                    var revertObj = MainPage.RequestHttps (API.GetHomeDataBackupPagger, requestJson, urlHead);
                     if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                         var data = Newtonsoft.Json.JsonConvert.DeserializeObject<GetBackupListResult> (revertObj.ResponseData.ToString ());
                         //var list = new List<BackupListNameInfo> ();
@@ -451,9 +457,15 @@
                         HomeId = UserConfig.Instance.CurrentRegion.Id,
                         LoginAccessToken = MainPage.LoginUser.LoginTokenString
                     };
+                    string urlHead = MainPage.RequestHttpsHost;
+                    if (requestObj.IsOtherAccountCtrl) {
+                        urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                        requestObj.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                    }
+
                     //DeleteFolderDataObj requestObj = new DeleteFolderDataObj () { Id = folderID };
                     var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
-                    var revertObj = MainPage.RequestHttps (API.DelHomeAppGatewayName, requestJson);
+                    var revertObj = MainPage.RequestHttps (API.DelHomeAppGatewayName, requestJson, urlHead);
                     if (revertObj.StateCode.ToUpper () == "SUCCESS") {
                         Application.RunOnMainThread (() => {
                             DatabackupShow ();
@@ -530,10 +542,15 @@
                         LoginAccessToken = MainPage.LoginUser.LoginTokenString,
                         GatewayUniqueId = UserConfig.Instance.GatewayMAC
                     };
+                    string urlHead = MainPage.RequestHttpsHost;
+                    if (requestObj.IsOtherAccountCtrl) {
+                        urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                        requestObj.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                    } 
 
                     //AddFolderObj requestObj = new AddFolderObj () { LevelID = UserConfig.Instance.CurrentRegion.Id ,Name = groupName };
                     var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
-                    var revertObj = MainPage.RequestHttps (API.AddHomeAppGatewayName, requestJson);
+                    var revertObj = MainPage.RequestHttps (API.AddHomeAppGatewayName, requestJson, urlHead);
                     if (revertObj.StateCode.ToUpper () == "SUCCESS") {
                         var DATA = Newtonsoft.Json.JsonConvert.DeserializeObject<AddBackupNameResult> (revertObj.ResponseData.ToString());
                         var addFolderID = DATA.BackupClassId;
@@ -612,7 +629,7 @@
             var backuplist = IO.FileUtils.ReadFiles ();
             int index = 0;
             foreach (var fileName in backuplist) {
-                index++;
+                //index++;
                 /// <summary>
                 /// 濡傛灉鏄壒娈婄殑娉ㄥ唽鐧婚檰鏂囦欢锛屽垯涓嶉渶瑕佸浠藉埌鏈嶅姟鍣�
                 /// </summary>
@@ -633,11 +650,17 @@
                 upData.UploadSubFileLists = list;
                 //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken
                 upData.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
+                string urlHead = MainPage.RequestHttpsHost;
+                if (upData.IsOtherAccountCtrl) {
+                    urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                    upData.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                }
 
                 //AddUserBackupObj requestObj2 = new AddUserBackupObj () { LevelID = Convert.ToInt32 (revertObj.ResponseData), Name = fileName, DetailByte = IO.FileUtils.ReadFile (fileName) };
                 var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (upData);
-                var revertObj2 = MainPage.RequestHttps (API.UploadHomeAppGatewaySubFiles, requestJson2);
+                var revertObj2 = MainPage.RequestHttps (API.UploadHomeAppGatewaySubFiles, requestJson2, urlHead);
                 if (revertObj2.StateCode.ToUpper () == "SUCCESS") {
+                    index++;
                     Application.RunOnMainThread (() => {
                         int pro = (int)(index * 1.0 / backuplist.Count * 100);
                         MainPage.Loading.Text = pro.ToString () + "%";
@@ -646,6 +669,15 @@
                     //鎻愮ず閿欒
                 }
             }
+            
+
+            Shared.Application.RunOnMainThread (() => {
+                if (index == 0) {
+                    new Alert ("", "Upload failed!", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                }
+         
+                MainPage.Loading.Hide ();
+            });
         }
 
 
@@ -678,12 +710,16 @@
                             requestObj2.PageSetting.Page = 1;
                             //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken
                             requestObj2.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
-
+                            string urlHead = MainPage.RequestHttpsHost;
+                            if (requestObj2.IsOtherAccountCtrl) {
+                                urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                                requestObj2.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                            }
 
                             //鑾峰彇鎵�鏈夋枃浠剁粍鍚�
                             //var requestObj2 = new UserBackupListObj () { LevelID = folderID };
                             var requestJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
-                            var revertObj2 = MainPage.RequestHttps (API.GetHomeDataBackupUploadListPagger, requestJson2);
+                            var revertObj2 = MainPage.RequestHttps (API.GetHomeDataBackupUploadListPagger, requestJson2, urlHead);
                             if (revertObj2.StateCode.ToUpper() == "SUCCESS") {
                                 var fileListData = Newtonsoft.Json.JsonConvert.DeserializeObject<LoadBackInfoResult> (revertObj2.ResponseData.ToString ());
                                 var responseDataObj = fileListData.PageData;
@@ -699,6 +735,11 @@
                                 mDownLoad.BackupClassId = BackupClassId;
                                 //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken
                                 mDownLoad.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
+                                string mUrlHead = MainPage.RequestHttpsHost;
+                                if (mDownLoad.IsOtherAccountCtrl) {
+                                    urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
+                                    mDownLoad.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
+                                }
 
                                 int index = 0;
                                 foreach (var file in responseDataObj) {
@@ -708,7 +749,7 @@
                                     mDownLoad.BackupFileName = file.BackupFileName;
                                     //var requestObj3 = new BackupDetailObj () { Id = file.Id };
                                     var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (mDownLoad);
-                                    var revertObj3 = MainPage.RequestHttpsReturnByte (API.DownloadSomeDataBackup, requestJson3);
+                                    var revertObj3 = MainPage.RequestHttpsReturnByte (API.DownloadSomeDataBackup, requestJson3, false, mUrlHead);
                                     if (revertObj3 != null) {
                                         index++;
                                         IO.FileUtils.WriteFileByBytes (file.BackupFileName, revertObj3);

--
Gitblit v1.8.0