From bbc74a6dae2e90a811b2507c5896fe89aa29ccc0 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 08 一月 2020 11:30:46 +0800
Subject: [PATCH] 2020-01-08 1.替换新服务器接口。

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs |  227 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 159 insertions(+), 68 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs
index c383656..66a2c6d 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs
+++ b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/SubaccountListView.cs
@@ -151,7 +151,8 @@
         {
             subaccountListView.RemoveAll ();
             foreach (var subaccount in subaccountList) {
-                if (subaccount.UserType == 2)
+                //2020-01-07 甯︾‘璁�
+                if (subaccount.AccountType == 2)
                     continue;
                 RowLayout subaccountRowView = new RowLayout () { 
                     Height = Application.GetRealHeight(110),
@@ -187,12 +188,12 @@
                 };
                 subaccountRowView.AddChidren (rightButton);
 
-                EventHandler<MouseEventArgs> eHandler = (sender, e) => {
-                    modifySubaccount (subaccount);
-                };
-                subaccountRowView.MouseUpEventHandler += eHandler;
-                btnDebugTitle.MouseUpEventHandler += eHandler;
-                rightButton.MouseUpEventHandler += eHandler;
+                //EventHandler<MouseEventArgs> eHandler = (sender, e) => {
+                //    modifySubaccount (subaccount);
+                //};
+                //subaccountRowView.MouseUpEventHandler += eHandler;
+                //btnDebugTitle.MouseUpEventHandler += eHandler;
+                //rightButton.MouseUpEventHandler += eHandler;
 
                 Button btnRowLine = new Button () { 
                     Y = Application.GetRealHeight(105),
@@ -216,14 +217,23 @@
                         if (e) {
                             MainPage.Loading.Start ("Please wait...");
                             try {
-                                var requestObj = new RemoveSubAccountObj () { Email = subaccount.Account };
+
+                                var requestObj = new DeletedSubAccountObj () {
+                                    SubAccount = subaccount.SubAccountDistributedMark,
+                                    HouseDistributedMark = UserConfig.Instance.CurrentRegion.Id,
+                                };
+
+     
                                 var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
-                                var revertObj = MainPage.RequestHttps ("RemoveSubAccount", requestJson);
-                                if (revertObj.StateCode == "SUCCESS") {
+                                var revertObj = MainPage.RequestHttps (API.DeletedSubAccount, requestJson, true);
+                                if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                                     Application.RunOnMainThread (() => {
                                         subaccountList.Remove (subaccount);
                                         addSubaccountList ();
                                     });
+                                } else {
+                                    //閿欒鎻愮ず
+                                    ShowDeletedSubAccountErrorInfo (revertObj.StateCode);
                                 }
                             } catch {
                                 MainPage.FailureToServer ();
@@ -299,7 +309,7 @@
                 Y = btnTitle.Bottom + Application.GetRealHeight (30),
                 Width = Application.GetRealWidth (420),
                 Height = Application.GetRealHeight (40),
-                Text="User name",
+                Text = "SubAccount",
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = SkinStyle.Current.TextColor,
             };
@@ -319,29 +329,29 @@
             };
             subaccountDialogView.AddChidren (etEmail);
 
-            Button btnSubaccountPassword = new Button () {
-                X = Application.GetRealWidth (40),
-                Y = etEmail.Bottom + Application.GetRealHeight (20),
-                Width = Application.GetRealWidth (420),
-                Height = Application.GetRealHeight (40),
-                TextID = R.MyInternationalizationString.Password,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = SkinStyle.Current.TextColor,
-            };
-            subaccountDialogView.AddChidren (btnSubaccountPassword);
+            //Button btnSubaccountPassword = new Button () {
+            //    X = Application.GetRealWidth (40),
+            //    Y = etEmail.Bottom + Application.GetRealHeight (20),
+            //    Width = Application.GetRealWidth (420),
+            //    Height = Application.GetRealHeight (40),
+            //    TextID = R.MyInternationalizationString.Password,
+            //    TextAlignment = TextAlignment.CenterLeft,
+            //    TextColor = SkinStyle.Current.TextColor,
+            //};
+            //subaccountDialogView.AddChidren (btnSubaccountPassword);
 
-            EditText etSubaccountPassword = new EditText () {
-                X = Application.GetRealWidth (40),
-                Y = btnSubaccountPassword.Bottom,
-                Width = Application.GetRealWidth (420),
-                Height = Application.GetRealHeight (80),
-                TextColor = SkinStyle.Current.TextColor,
-                Radius = 5,
-                BorderColor = SkinStyle.Current.DialogTitle,
-                BorderWidth = 2,
-                TextAlignment = TextAlignment.Center,
-            };
-            subaccountDialogView.AddChidren (etSubaccountPassword);
+            //EditText etSubaccountPassword = new EditText () {
+            //    X = Application.GetRealWidth (40),
+            //    Y = btnSubaccountPassword.Bottom,
+            //    Width = Application.GetRealWidth (420),
+            //    Height = Application.GetRealHeight (80),
+            //    TextColor = SkinStyle.Current.TextColor,
+            //    Radius = 5,
+            //    BorderColor = SkinStyle.Current.DialogTitle,
+            //    BorderWidth = 2,
+            //    TextAlignment = TextAlignment.Center,
+            //};
+            //subaccountDialogView.AddChidren (etSubaccountPassword);
 
             FrameLayout bottomView = new FrameLayout () {
                 Y = subaccountDialogView.Height - Application.GetRealHeight (90),
@@ -379,49 +389,59 @@
 
             btnSaveSubaccount.MouseUpEventHandler += (sender3, e3) => {
                 string addSubaccount = etEmail.Text.Trim ();
-                string addSubaccountPassword = etSubaccountPassword.Text.Trim ();
-                string addSubaccountReamrk = DateTime.Now.Ticks.ToString();
+                //string addSubaccountPassword = etSubaccountPassword.Text.Trim ();
+                //string addSubaccountReamrk = DateTime.Now.Ticks.ToString();
                 //string addSubaccountReamrk = etSubaccountReamrk.Text.Trim ();
                 if (string.IsNullOrEmpty (addSubaccount)) {
                     new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.TipEntrySubaccount), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etEmail);
                     return;
                 }
-                if (string.IsNullOrEmpty (addSubaccountPassword)) {
-                    new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PleaseEnterPassword), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etSubaccountPassword);
-                    return;
-                }
-                if(string.IsNullOrEmpty (addSubaccountReamrk)){
-                    //new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.TipEntrySubaccountRemark), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etSubaccountReamrk);
-                    //return;
-                }if (addSubaccountPassword.Length < 6) {
-                    new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PasswordLenghtTip), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (etSubaccountPassword);
-                    return;
-                }
+                //if (string.IsNullOrEmpty (addSubaccountPassword)) {
+                //    new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PleaseEnterPassword), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etSubaccountPassword);
+                //    return;
+                //}
+                //if(string.IsNullOrEmpty (addSubaccountReamrk)){
+                //    //new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.TipEntrySubaccountRemark), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show(etSubaccountReamrk);
+                //    //return;
+                //}
+                //if (addSubaccountPassword.Length < 6) {
+                //    new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PasswordLenghtTip), Direction = AMPopTipDirection.Down, CloseTime = 3 }.Show (etSubaccountPassword);
+                //    return;
+                //}
                 MainPage.Loading.Start ("Please wait...");
 
                 subaccount.Account = addSubaccount;
-                subaccount.Remark = addSubaccountReamrk;
+                //subaccount.Remark = addSubaccountReamrk;
                 System.Threading.Tasks.Task.Run (() => {
                     try {
                         if (isModify) {
-                            var requestObj = new EditSubAccountObj () { Id = subaccount.UserID, Email = addSubaccount, Password = addSubaccountPassword, Remark = addSubaccountReamrk };
-                            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
-                            var revertObj = MainPage.RequestHttps ("EditSubAccount", requestJson);
-                            if (revertObj.StateCode == "SUCCESS") {
-                                Application.RunOnMainThread (() => {
-                                    addSubaccountList ();
-                                    dialog.Close ();
-                                });
-                            }
+                            //var requestObj = new EditSubAccountObj () { Id = subaccount.UserID, Email = addSubaccount, Password = addSubaccountPassword, Remark = addSubaccountReamrk };
+                            //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
+                            //var revertObj = MainPage.RequestHttps ("EditSubAccount", requestJson, true);
+                            //if (revertObj.StateCode.ToUpper() == "SUCCESS") {
+                            //    Application.RunOnMainThread (() => {
+                            //        addSubaccountList ();
+                            //        dialog.Close ();
+                            //    });
+                            //}
                         } else {
-                            var requestObj = new SignSubAccountObj () { Email = addSubaccount, Password = addSubaccountPassword, Remark = addSubaccountReamrk };
+                            //var requestObj = new SignSubAccountObj () { Email = addSubaccount, Password = addSubaccountPassword, Remark = addSubaccountReamrk };
+
+                            var requestObj = new BindSubAccountObj () {
+                                HouseDistributedMark = UserConfig.Instance.CurrentRegion.Id,
+                                SubAccount = addSubaccount,
+                            };
                             var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
-                            var revertObj = MainPage.RequestHttps ("SignSubAccount", requestJson);
-                            if (revertObj.StateCode == "SUCCESS") {
-                                var requestObj2 = new GetSubAccountListObj ();
+
+                            var revertObj = MainPage.RequestHttps (API.BindSubAccount, requestJson, true);
+                            if (revertObj.StateCode.ToUpper () == "SUCCESS") {
+                                var requestObj2 = new GetSubAccountByDistributedMarkObj () {
+                                    DistributedMark = UserConfig.Instance.CurrentRegion.Id,
+                                };
+                                //var requestObj2 = new GetSubAccountListObj ();
                                 var requesetJson2 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj2);
-                                var requesetRevertObj2 = MainPage.RequestHttps ("GetSubAccountList", requesetJson2);
-                                if (requesetRevertObj2.StateCode == "SUCCESS") {
+                                var requesetRevertObj2 = MainPage.RequestHttps (API.GetSubAccountByDistributedMark, requesetJson2, true);
+                                if (requesetRevertObj2.StateCode.ToUpper () == "SUCCESS") {
                                     var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SubAccountRes>> (requesetRevertObj2.ResponseData.ToString ());
                                     subaccountList = responseDataObj;
                                     Application.RunOnMainThread (() => {
@@ -430,7 +450,12 @@
                                         addSubaccountList ();
                                         dialog.Close ();
                                     });
+                                } else {
+                                    //閿欒鎻愮ず
                                 }
+                            } else {
+                                //BindSubAccount閿欒鎻愮ず
+                                ShowBindSubAccountErrorInfo (revertObj.StateCode);
                             }
                         }
                     } catch (Exception ex) {
@@ -450,13 +475,79 @@
             //etSubaccountReamrk.EditorEnterAction += (obj) => {
             //    etEmail.Foucs = true;
             //};
-            etEmail.EditorEnterAction += (obj) => {
-                etSubaccountPassword.Foucs = true;
-            };
-            etSubaccountPassword.EditorEnterAction += (obj) => {
-                Application.HideSoftInput ();
-            };
+            //etEmail.EditorEnterAction += (obj) => {
+            //    etSubaccountPassword.Foucs = true;
+            //};
+            //etSubaccountPassword.EditorEnterAction += (obj) => {
+            //    Application.HideSoftInput ();
+            //};
             dialog.Show ();
         }
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="stateCodeStr"></param>
+        void ShowDeletedSubAccountErrorInfo (string stateCodeStr)
+        {
+            string mes = "";
+            //2020-01-06 寰呰ˉ鍏�
+            if (stateCodeStr == "NoExist") {
+                mes = ErrorCode.FailedDelete;
+            } else if (stateCodeStr == ErrorCode.NetworkError) {
+                mes = ErrorCode.NetworkError;
+            } else {
+                mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr;
+
+            }
+            if (!string.IsNullOrEmpty (mes)) {
+                Application.RunOnMainThread (() => {
+                    new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                });
+            }
+
+
+        }
+
+        /// <summary>
+        ///(1)Success 鍒欒皟鐢ㄦ鎺ュ彛鎴愬姛
+        //(2)ParameterOrEmpty 鎻愪緵鐨勫弬鏁伴敊璇紝璇︽儏瑙丒rrorInfo瀛楁
+        //(3)NoLogin,鍒欏搷搴斿瓧娈典腑 [ErrorInfo] 涓洪敊璇俊鎭负 [鏃犳晥鐧诲綍Token!]
+        //(4)AccountNoExists 瀛愯处鍙锋湭娉ㄥ唽锛岃缁戝畾宸叉敞鍐岀殑瀛愯处鍙�!
+        //(5)SameAccount,涓嶈兘娣诲姞鑷繁涓哄瓙璐﹀彿! (6)NoExist 鐢ㄦ埛涓嶅瓨鍦ㄦ浣忓畢
+        //(7)Exist 璐﹀彿宸插瓨鍦ㄦ浣忓畢
+        //(8)Fail 鎿嶄綔澶辫触
+        //(9)BeRestrict 鏉冮檺涓嶈冻
+        //(10)NoAddMainAccount 涓嶈兘缁戝畾涓昏处鍙�
+        //        /// </summary>
+        /// <param name="stateCodeStr"></param>
+        void ShowBindSubAccountErrorInfo (string stateCodeStr)
+        {
+            string mes = "";
+            //2020-01-06 寰呰ˉ鍏�
+            if (stateCodeStr == "AccountNoExists") {
+                mes = ErrorCode.SubAccountNoExists;
+            } else if (stateCodeStr == "SameAccount") {
+                mes = ErrorCode.SameAccount;
+            } else if (stateCodeStr == "Exist") {
+                mes = ErrorCode.SubAccountExist;
+            } else if (stateCodeStr == "NoAddMainAccount") {
+                mes = ErrorCode.NoAddMainAccount;
+            } else if (stateCodeStr == ErrorCode.NetworkError) {
+                mes = ErrorCode.NetworkError;
+            } else {
+                mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr;
+
+            }
+            if (!string.IsNullOrEmpty (mes)) {
+                Application.RunOnMainThread (() => {
+                    new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
+                });
+            }
+
+
+        }
+
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0