private void ResolveForgotPassword() { var adb = new IONAlertDialog(this); adb.SetTitle(Resource.String.portal_password_reset); var view = LayoutInflater.From(this).Inflate(Resource.Layout.dialog_portal_password_reset, null, false); adb.SetView(view); adb.SetCancelable(true); var edit = view.FindViewById <EditText>(Resource.Id.password); var d = adb.Show(); view.FindViewById(Resource.Id.cancel).Click += (sender, e) => { d.Dismiss(); }; view.FindViewById(Resource.Id.ok).Click += async(sender, e) => { if (!string.IsNullOrEmpty(edit.Text)) { var pd = new ProgressDialog(this); pd.SetTitle(Resource.String.working); pd.SetMessage(GetString(Resource.String.please_wait)); pd.SetCancelable(false); pd.Show(); var response = await ion.portal.RequestResetUserPasswordAsync(edit.Text); if (response.success) { Toast.MakeText(this, Resource.String.portal_password_reset_sent, ToastLength.Long).Show(); d.Dismiss(); } else { Toast.MakeText(this, Resource.String.portal_error_failed_to_login, ToastLength.Long).Show(); } pd.Dismiss(); } else { Toast.MakeText(this, Resource.String.portal_error_email_invalid, ToastLength.Long).Show(); } }; }
public Dialog Show() { var view = LayoutInflater.From(context).Inflate(Resource.Layout.dialog_report_export_options, null, false); var tabHost = view.FindViewById <TabHost>(Android.Resource.Id.TabHost); var tab1 = view.FindViewById(Resource.Id.tab_1); var tab2 = view.FindViewById(Resource.Id.tab_2); var adb = new IONAlertDialog(context); adb.SetTitle(Resource.String.report_choose_export_format); adb.SetView(view); adb.SetNegativeButton(Resource.String.cancel, (sender, e) => { }); adb.SetPositiveButton(Resource.String.export, (sender, e) => { Toast.MakeText(context, "EXPORT", ToastLength.Long).Show(); }); var ret = adb.Create(); ret.Show(); return(ret); }
private void ResolveRegister() { var adb = new IONAlertDialog(this); adb.SetTitle(Resource.String.register); var view = LayoutInflater.From(this).Inflate(Resource.Layout.dialog_portal_register, null, false); adb.SetView(view); adb.SetCancelable(true); var email = view.FindViewById <EditText>(Resource.Id.email); var password = view.FindViewById <EditText>(Resource.Id.password); var passwordConfirm = view.FindViewById <EditText>(Resource.Id.passwordConfirm); var icon = view.FindViewById <ImageView>(Resource.Id.icon); password.TextChanged += (sender, e) => { if (password.Text.Equals(passwordConfirm.Text) && ion.portal.IsPasswordValid(password.Text)) { icon.SetColorFilter(Android.Graphics.Color.Green); icon.SetImageBitmap(cache.GetBitmap(Resource.Drawable.ic_check)); } else { icon.SetColorFilter(Android.Graphics.Color.Red); icon.SetImageBitmap(cache.GetBitmap(Resource.Drawable.ic_x)); } }; passwordConfirm.TextChanged += (sender, e) => { if (password.Text.Equals(passwordConfirm.Text) && ion.portal.IsPasswordValid(password.Text)) { icon.SetColorFilter(Android.Graphics.Color.Green); icon.SetImageBitmap(cache.GetBitmap(Resource.Drawable.ic_check)); } else { icon.SetColorFilter(Android.Graphics.Color.Red); icon.SetImageBitmap(cache.GetBitmap(Resource.Drawable.ic_x)); } }; icon.Click += (sender, e) => { var dialog = new IONAlertDialog(this); dialog.SetMessage(GetString(Resource.String.portal_error_password_invalid)); dialog.SetCancelable(true); dialog.SetNegativeButton(Resource.String.cancel, (sender2, e2) => {}); dialog.Show(); }; var d = adb.Show(); view.FindViewById(Resource.Id.cancel).Click += (sender, e) => { d.Dismiss(); }; view.FindViewById(Resource.Id.register).Click += async(sender, e) => { if (string.IsNullOrEmpty(email.Text)) { Toast.MakeText(this, Resource.String.portal_error_email_invalid, ToastLength.Long).Show(); return; } if (!password.Text.Equals(passwordConfirm.Text)) { Toast.MakeText(this, Resource.String.portal_error_passwords_dont_match, ToastLength.Long).Show(); return; } if (!ion.portal.IsPasswordValid(password.Text)) { Toast.MakeText(this, Resource.String.portal_error_password_invalid, ToastLength.Long).Show(); return; } if (password.Text.Equals(passwordConfirm.Text)) { var pd = new ProgressDialog(this); pd.SetTitle(Resource.String.working); pd.SetMessage(GetString(Resource.String.please_wait)); pd.SetCancelable(false); pd.Show(); var response = await ion.portal.RegisterUser(email.Text, password.Text); if (response.success) { Toast.MakeText(this, Resource.String.portal_password_reset_sent, ToastLength.Long).Show(); this.username.Text = email.Text; this.password.Text = password.Text; d.Dismiss(); } else { Toast.MakeText(this, response.message, ToastLength.Long).Show(); } pd.Dismiss(); } else { Toast.MakeText(this, Resource.String.portal_error_passwords_dont_match, ToastLength.Long).Show(); } }; }