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