using System; namespace Shared.SimpleControl.Phone { public class AccountModifyPassword : FrameLayout { public AccountModifyPassword () { BackgroundColor = SkinStyle.Current.MainColor; } public void ShowAccountModifyPassword () { #region 标题 var topView = new FrameLayout () { Y = Application.GetRealHeight (36), Height = Application.GetRealHeight (90), }; AddChidren (topView); var title = new Button () { TextAlignment = TextAlignment.Center, Text = Language.StringByID (R.MyInternationalizationString.Account), TextSize = 19, TextColor = SkinStyle.Current.TextColor1 }; topView.AddChidren (title); var logo = new Button () { Width = Application.GetRealWidth (154), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (486), UnSelectedImagePath = MainPage.LogoString, Gravity = Gravity.CenterVertical, }; topView.AddChidren (logo); var back = new Button () { Height = Application.GetRealHeight (90), Width = Application.GetRealWidth (85), UnSelectedImagePath = "Item/Back.png", Gravity = Gravity.CenterVertical, }; topView.AddChidren (back); back.MouseUpEventHandler += (sender, e) => { UserMiddle.SettingPageView.PageIndex = UserMiddle.SettingPageView.ChildrenCount - 2; }; #endregion var BodyView = new FrameLayout () { Width = LayoutParams.MatchParent, Height = Application.GetRealHeight (Application.DesignHeight - 126), Y = topView.Bottom, BackgroundColor = SkinStyle.Current.ViewColor, }; AddChidren (BodyView); Button btnCurEmail = new Button () { Height = Application.GetRealHeight (140), Text = MainPage.LoginUser.AccountString, Enable = false, TextColor = SkinStyle.Current.TextColor1 }; BodyView.AddChidren (btnCurEmail); var ResetPasswrodView = new FrameLayout () { Height = Application.GetRealHeight (Application.DesignHeight - 126 - 140) }; BodyView.AddChidren (ResetPasswrodView); EditText originalPassword = new EditText () { Width = Application.GetRealWidth (500), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (70), Y = Application.GetRealHeight (200), PlaceholderText = Language.StringByID (R.MyInternationalizationString.PleaseEnterOldPassword), UnSelectedImagePath = "Register/Register_Password_kuang.png", PlaceholderTextColor = SkinStyle.Current.PlaceholderTextColor, TextAlignment = TextAlignment.Center, Radius = (uint)Application.GetRealHeight (0), SecureTextEntry = true, TextColor = SkinStyle.Current.TextColor1, }; originalPassword.MouseUpEventHandler += (sender, e) => { //originalPassword.IsSelected = !originalPassword.IsSelected; }; ResetPasswrodView.AddChidren (originalPassword); EditText etNewPassword = new EditText () { Width = Application.GetRealWidth (500), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (70), Y = originalPassword.Bottom + Application.GetRealHeight (70), UnSelectedImagePath = "Register/Register_Password_kuang.png", PlaceholderText = Language.StringByID (R.MyInternationalizationString.PleaseSetNewPasword), PlaceholderTextColor = SkinStyle.Current.PlaceholderTextColor, TextAlignment = TextAlignment.Center, Radius = (uint)Application.GetRealHeight (0), TextColor = SkinStyle.Current.TextColor1, SecureTextEntry = true }; ResetPasswrodView.AddChidren (etNewPassword); EditText etNewPassword2 = new EditText () { Width = Application.GetRealWidth (500), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (70), Y = etNewPassword.Bottom + Application.GetRealHeight (70), UnSelectedImagePath = "Register/Register_Password_kuang.png", PlaceholderText = Language.StringByID (R.MyInternationalizationString.PleaseConfirmNewPassword), PlaceholderTextColor = SkinStyle.Current.PlaceholderTextColor, TextAlignment = TextAlignment.Center, Radius = (uint)Application.GetRealHeight (0), TextColor = SkinStyle.Current.TextColor1, SecureTextEntry = true }; ResetPasswrodView.AddChidren (etNewPassword2); Button btnSave = new Button () { Width = Application.GetRealWidth (500), Height = Application.GetRealHeight (89), X = Application.GetRealWidth (70), Y = Application.GetRealHeight (750), BackgroundColor = SkinStyle.Current.ButtonColor, SelectedBackgroundColor = SkinStyle.Current.SelectedColor, TextID = R.MyInternationalizationString.SAVE, TextColor = SkinStyle.Current.TextColor1, TextSize = 16, }; ResetPasswrodView.AddChidren (btnSave); var tipConfrimPW = new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.NewCipherInconsistencies), Direction = AMPopTipDirection.Up, CloseTime = 20 }; var tipConfrimShort = new Tip () { MaxWidth = 250, Text = Language.StringByID (R.MyInternationalizationString.PasswordLenghtTip), Direction = AMPopTipDirection.Up, CloseTime = 3 }; //etNewPassword.TextChangeEventHandler += (sender, e) => { // if (etNewPassword.Text.Trim ().Length < 6 ) { // tipConfrimShort.Show (etNewPassword); // } else { // tipConfrimShort.CloseTime = 0; // } //}; etNewPassword2.TextChangeEventHandler += (sender, e) => { if (etNewPassword.Text.Trim ().Length == etNewPassword2.Text.Trim ().Length) { if (etNewPassword.Text.Trim () != etNewPassword2.Text.Trim ()) { tipConfrimPW.Show (etNewPassword2); } else { } } }; btnSave.MouseDownEventHandler += (sender, e) => { btnSave.IsSelected = true; }; btnSave.MouseUpEventHandler += (sender, e) => { try { btnSave.IsSelected = false; if (MainPage.LoginUser == null) { return; } if (string.IsNullOrEmpty (etNewPassword.Text.Trim ())) { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.NewPasswordIsEmpty), Language.StringByID (R.MyInternationalizationString.Close)).Show (); } else if (etNewPassword.Text.Trim () != etNewPassword2.Text.Trim ()) { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.PleaseConfirmPasswordIsCorrect), Language.StringByID (R.MyInternationalizationString.Close)).Show (); } else { string oldPassword = originalPassword.Text.Trim (); string newPassword = etNewPassword.Text.Trim (); try { var requestObj = new UpdatePasswordObj () { OldPassword = oldPassword, Password = newPassword }; var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); var revertObj = MainPage.RequestHttps ("UpdatePassword", requestJson); if (revertObj.StateCode == "SUCCESS") { MainPage.LoginUser.Password = newPassword; MainPage.LoginUser.SaveUserInfo (); Application.RunOnMainThread (() => { this.RemoveFromParent (); new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.PasswordModificationSuccess),Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } } catch { Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.FailureToServer), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } finally { Application.RunOnMainThread (() => { MainPage.Loading.Hide (); }); } } } catch (Exception ex) { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.CheckInternet), Language.StringByID (R.MyInternationalizationString.Close)).Show (); string mess = ex.Message; } }; } } }