using System; using service.hdlcontrol.com_push; 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 (1136 - 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 (1136 - 126 - 140) }; BodyView.AddChidren (ResetPasswrodView); var curPasswordView = new FrameLayout () { Width = Application.GetRealWidth (500), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (70), Y = Application.GetRealHeight (200), BackgroundImagePath = "Register/Register_Password_kuang.png", }; ResetPasswrodView.AddChidren (curPasswordView); var etCurPassword = new EditText () { Width = Application.GetRealWidth (400), X = Application.GetRealWidth (100), PlaceholderText = Language.StringByID (R.MyInternationalizationString.PleaseEnterOldPassword), PlaceholderTextColor = SkinStyle.Current.PlaceholderTextColor, TextAlignment = TextAlignment.CenterLeft, SecureTextEntry = true, TextColor = SkinStyle.Current.TextColor1, }; curPasswordView.AddChidren (etCurPassword); var newPasswordView = new FrameLayout () { Width = Application.GetRealWidth (500), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (70), Y = curPasswordView.Bottom + Application.GetRealHeight (70), BackgroundImagePath = "Register/Register_Password_kuang.png", Radius = (uint)Application.GetRealHeight (0), }; ResetPasswrodView.AddChidren (newPasswordView); var etNewPassword = new EditText () { Width = Application.GetRealWidth (400), X = Application.GetRealWidth (100), PlaceholderText = Language.StringByID (R.MyInternationalizationString.PleaseSetNewPasword), PlaceholderTextColor = SkinStyle.Current.PlaceholderTextColor, TextAlignment = TextAlignment.CenterLeft, TextColor = SkinStyle.Current.TextColor1, SecureTextEntry = true }; newPasswordView.AddChidren (etNewPassword); var confrimFpasswordView = new FrameLayout () { Width = Application.GetRealWidth (500), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (70), Y = newPasswordView.Bottom + Application.GetRealHeight (70), BackgroundImagePath = "Register/Register_Password_kuang.png", }; ResetPasswrodView.AddChidren (confrimFpasswordView); var etConfrimPassword = new EditText () { Width = Application.GetRealWidth (400), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (100), PlaceholderText = Language.StringByID (R.MyInternationalizationString.PleaseConfirmNewPassword), PlaceholderTextColor = SkinStyle.Current.PlaceholderTextColor, TextAlignment = TextAlignment.CenterLeft, TextColor = SkinStyle.Current.TextColor1, SecureTextEntry = true }; confrimFpasswordView.AddChidren (etConfrimPassword); 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 }; etConfrimPassword.TextChangeEventHandler += (sender, e) => { if (etNewPassword.Text.Trim ().Length == etConfrimPassword.Text.Trim ().Length) { if (etNewPassword.Text.Trim () != etConfrimPassword.Text.Trim ()) { tipConfrimPW.Show (etConfrimPassword); } 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.NewPasswordIsEmpty), Language.StringByID (R.MyInternationalizationString.Close)).Show (); } else if (etNewPassword.Text.Trim () != etConfrimPassword.Text.Trim ()) { new Alert ("", Language.StringByID (R.MyInternationalizationString.PleaseConfirmPasswordIsCorrect), Language.StringByID (R.MyInternationalizationString.Close)).Show (); } else { string oldPassword = etCurPassword.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.PasswordModificationSuccess), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } } catch { Application.RunOnMainThread (() => { new Alert ("", 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.CheckInternet), Language.StringByID (R.MyInternationalizationString.Close)).Show (); string mess = ex.Message; } }; etCurPassword.EditorEnterAction += (obj) => { etNewPassword.Foucs = true; }; etNewPassword.EditorEnterAction += (obj) => { Application.HideSoftInput (); etConfrimPassword.Foucs = true; }; etConfrimPassword.EditorEnterAction += (obj) => { Application.HideSoftInput (); }; } } }