陈嘉乐
2020-01-08 bbc74a6dae2e90a811b2507c5896fe89aa29ccc0
Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountModifyPassword.cs
@@ -175,17 +175,20 @@
                        string oldPassword = etCurPassword.Text.Trim ();
                        string newPassword = etNewPassword.Text.Trim ();
                        try {
                            var requestObj = new UpdatePasswordObj () { OldPassword = oldPassword, Password = newPassword };
                            var requestObj = new UpdatePasswordObj () { OldPassword = oldPassword, NewPassword = newPassword };
                            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
                            var revertObj = MainPage.RequestHttps ("UpdatePassword", requestJson);
                            if (revertObj.StateCode == "SUCCESS") {
                            var revertObj = MainPage.RequestHttps (API.UpdatePassword, requestJson, true);
                            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                                MainPage.LoginUser.Password = newPassword;
                                MainPage.LoginUser.SaveUserInfo ();
                                Application.RunOnMainThread (() => {
                                    this.RemoveFromParent ();
                                    new Alert ("", Language.StringByID (R.MyInternationalizationString.PasswordModificationSuccess), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                                });
                            } else {
                                ShowErrorInfo (revertObj.StateCode);
                            }
                        } catch {
                            Application.RunOnMainThread (() => {
                                new Alert ("", Language.StringByID (R.MyInternationalizationString.FailureToServer),
@@ -216,5 +219,35 @@
            };
        }
        void ShowErrorInfo (string stateCodeStr)
        {
            string mes = "";
            if (stateCodeStr == "NewPasswordAndOldPasswordEqual") {
                //原密码和新密码相同
                mes = ErrorCode.NewPasswordAndOldPasswordEqual;
            } else if (stateCodeStr == "OldPwdNoYes") {
                //原密码错误
                mes = ErrorCode.OldPwdNoYes;
            } else if (stateCodeStr == "AccountNoExists") {
                //用户不存在
                mes = ErrorCode.ACCOUNTNOEXISTS;
            } else if (stateCodeStr == "Fail") {
                // 操作失败
                mes = ErrorCode.OperationFailed;
            } 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 ();
                });
            }
        }
    }
}