async Task <bool> ResendPremium() { AccountActions.cycledRequestCancelled = true; _activityIndicator.Visibility = ViewStates.Visible; _resendBn.Visibility = ViewStates.Gone; var clientName = Android.OS.Build.Manufacturer + " " + Android.OS.Build.Model; string res = null; try { res = await _accountActions.AccountVerification(clientName, _databaseMethods.GetEmailFromValidTill_RepeatAfter(), Guid.NewGuid().ToString() /*NativeMethods.GetDeviceId()*/); } catch (Exception ex) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); Analytics.TrackEvent("446 finish waiting email"); return(false); } } if (String.IsNullOrEmpty(res)) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); Analytics.TrackEvent("457 finish waiting email"); return(false); } } _activityIndicator.Visibility = ViewStates.Gone; _resendBn.Visibility = ViewStates.Visible; if (res.Contains("actionJwt")) { var deserializedValue = JsonConvert.DeserializeObject <AccountVerificationModel>(res); _databaseMethods.InsertActionJwt(deserializedValue.actionJwt); EmailActivity.ActionToken = deserializedValue.actionToken; EmailActivity.RepeatAfter = deserializedValue.repeatAfter; EmailActivity.ValidTill = deserializedValue.validTill; _databaseMethods.InsertValidTillRepeatAfter(EmailActivity.ValidTill, EmailActivity.RepeatAfter, ConfirmEmailActivity.EmailValue); //var intent = new Intent(this, typeof(WaitingEmailConfirmActivity)); //intent.SetFlags(ActivityFlags.NoHistory); //intent.SetFlags(ActivityFlags.NewTask); StartActivity(typeof(WaitingEmailConfirmActivity)); return(true); //Finish(); //ViewDidAppear(false); } //if (res.ToLower().Contains("ыполнено ранее")) //{ Toast.MakeText(this, TranslationHelper.GetString("RequestReExecutionTimeHasNotYetCome", _ci), ToastLength.Short).Show(); //} return(true); }
public override void ViewDidLoad() { base.ViewDidLoad(); InitElements(); backBn.TouchUpInside += (s, e) => { this.NavigationController.PopViewController(true); }; if (!methods.IsConnected()) { NoConnectionViewController.view_controller_name = GetType().Name; this.NavigationController.PushViewController(storyboard.InstantiateViewController(nameof(NoConnectionViewController)), false); return; } nextBn.TouchUpInside += async(s, e) => { if (String.IsNullOrEmpty(EmailTextField.Text)) { UIAlertView alert_empty = new UIAlertView() { Title = "Введите email" }; alert_empty.AddButton("OK"); alert_empty.Show(); } else { try { ConfirmEmailViewControllerNew.email_value = methods.EmailValidation(EmailTextField.Text); activityIndicator.Hidden = false; nextBn.Hidden = true; var deviceName = UIDevice.CurrentDevice.Name;//IdentifierForVendor.ToString(); var UDID = UIDevice.CurrentDevice.IdentifierForVendor.ToString(); string res = null; try { res = await accountActions.AccountVerification(deviceName, EmailTextField.Text.ToLower(), UDID); } catch { if (!methods.IsConnected()) { InvokeOnMainThread(() => { NoConnectionViewController.view_controller_name = GetType().Name; this.NavigationController.PushViewController(storyboard.InstantiateViewController(nameof(NoConnectionViewController)), false); return; }); } return; } Analytics.TrackEvent($"{deviceName} {res}"); activityIndicator.Hidden = true; nextBn.Hidden = false; string error_message = ""; UIAlertView alert = new UIAlertView() { Title = "Ошибка", Message = "Что-то пошло не так." }; if (res.ToLower().Contains(Constants.alreadyDone.ToLower())) { var possibleRepeat = TimeZone.CurrentTimeZone.ToLocalTime(databaseMethods.GetRepeatAfter()); var hour = possibleRepeat.Hour.ToString(); var minute = possibleRepeat.Minute.ToString(); var second = possibleRepeat.Second.ToString(); if (hour.Length < 2) { hour = "0" + hour; } if (minute.Length < 2) { minute = "0" + minute; } if (second.Length < 2) { second = "0" + second; } alert.Message = "Запрос был выполнен ранее. Следующий можно будет выполнить после " + hour + ":" + minute + ":" + second; alert.AddButton("OK"); alert.Show(); return; } if (res.Contains("SubscriptionConstraint") || String.IsNullOrEmpty(res)) { error_message = "_"; var vc = storyboard.InstantiateViewController(nameof(EmailAlreadyRegisteredViewController)); this.NavigationController.PushViewController(vc, true); } else if (res.Contains("The Email field is not a valid e-mail address")) { error_message = "Неверный формат почты"; } if (!String.IsNullOrEmpty(error_message)) { if (!error_message.Contains("_")) { alert = new UIAlertView() { Title = "Ошибка", Message = error_message }; alert.AddButton("OK"); alert.Show(); } } if (res.Contains("actionJwt")) { var deserialized_value = JsonConvert.DeserializeObject <AccountVerificationModel>(res); databaseMethods.InsertActionJwt(deserialized_value.actionJwt); Analytics.TrackEvent($"{"actionJwt:"} {deserialized_value.actionJwt}"); EmailViewControllerNew.actionToken = deserialized_value.actionToken; EmailViewControllerNew.repeatAfter = deserialized_value.repeatAfter; EmailViewControllerNew.validTill = deserialized_value.validTill; databaseMethods.InsertValidTillRepeatAfter(EmailViewControllerNew.validTill, EmailViewControllerNew.repeatAfter, ConfirmEmailViewControllerNew.email_value); var vc = storyboard.InstantiateViewController(nameof(WaitingEmailConfirmViewController)); this.NavigationController.PushViewController(vc, true); } } catch { UIAlertView alert_empty = new UIAlertView() { Title = "Email некорректен" }; alert_empty.AddButton("OK"); alert_empty.Show(); } } }; EmailTextField.EditingChanged += (s, e) => { email_value = EmailTextField.Text; }; email_value = databaseMethods.GetEmailFromValidTill_RepeatAfter(); var timer = new System.Timers.Timer(); timer.Interval = 400; timer.Elapsed += delegate { timer.Stop(); timer.Dispose(); InvokeOnMainThread(() => { if (!String.IsNullOrEmpty(email_value)) { EmailTextField.BecomeFirstResponder(); EmailTextField.Text = email_value; } }); }; timer.Start(); }
private async Task <bool> NextBnTouch() { if (String.IsNullOrEmpty(_emailEt.Text)) { Toast.MakeText(this, TranslationHelper.GetString("enterEmail", _ci), ToastLength.Short).Show(); } else { try { ConfirmEmailActivity.EmailValue = _methods.EmailValidation(_emailEt.Text); _activityIndicator.Visibility = ViewStates.Visible; _nextBn.Visibility = ViewStates.Gone; var clientName = Android.OS.Build.Manufacturer + " " + Android.OS.Build.Model; string res = null; try { res = await _accountActions.AccountVerification(clientName, _emailEt.Text.ToLower(), Guid.NewGuid().ToString() /*NativeMethods.GetDeviceId()*/); } catch (Exception ex) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); return(false); } } Analytics.TrackEvent($"{clientName} {res}"); if (String.IsNullOrEmpty(res)) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); return(false); } } _activityIndicator.Visibility = ViewStates.Gone; _nextBn.Visibility = ViewStates.Visible; string errorMessage = ""; if (res.Contains(Constants.alreadyDone)) { if (res.Contains(Constants.alreadyDone)) { var possibleRepeat = TimeZone.CurrentTimeZone.ToLocalTime(_databaseMethods.GetRepeatAfter()); var hour = possibleRepeat.Hour.ToString(); var minute = possibleRepeat.Minute.ToString(); var second = possibleRepeat.Second.ToString(); if (hour.Length < 2) { hour = "0" + hour; } if (minute.Length < 2) { minute = "0" + minute; } if (second.Length < 2) { second = "0" + second; } Toast.MakeText(this, TranslationHelper.GetString("requestAlreadyDone", _ci) + hour + ":" + minute + ":" + second, ToastLength.Long).Show(); return(false); } } if (res.Contains(Constants.SubscriptionConstraint) || String.IsNullOrEmpty(res)) { errorMessage = "_"; StartActivity(typeof(EmailAlreadyRegisteredActivity)); } else if (res.Contains(Constants.emailFieldNotValid)) { errorMessage = TranslationHelper.GetString("incorrectEmailFormat", _ci); } if (!String.IsNullOrEmpty(errorMessage)) { if (!errorMessage.Contains("_")) { if (!errorMessage.Contains("_")) { Toast.MakeText(this, errorMessage, ToastLength.Short).Show(); } } } if (res.Contains(Constants.actionJwt)) { var deserializedValue = JsonConvert.DeserializeObject <AccountVerificationModel>(res); _databaseMethods.InsertActionJwt(deserializedValue.actionJwt); Analytics.TrackEvent($"{clientName} {deserializedValue.actionJwt}"); EmailActivity.ActionToken = deserializedValue.actionToken; EmailActivity.RepeatAfter = deserializedValue.repeatAfter; EmailActivity.ValidTill = deserializedValue.validTill; _databaseMethods.InsertValidTillRepeatAfter(EmailActivity.ValidTill, EmailActivity.RepeatAfter, ConfirmEmailActivity.EmailValue); StartActivity(typeof(WaitingEmailConfirmActivity)); } } catch (Exception ex) { Toast.MakeText(this, TranslationHelper.GetString("incorrectEmail", _ci), ToastLength.Short).Show(); _activityIndicator.Visibility = ViewStates.Gone; _nextBn.Visibility = ViewStates.Visible; } } return(true); }
private async Task <bool> nextBnTouch() { if (String.IsNullOrEmpty(EmailTextField.Text)) { UIAlertView alert_empty = new UIAlertView() { Title = "Введите email" }; alert_empty.AddButton("OK"); alert_empty.Show(); } else { try { ConfirmEmailViewControllerNew.email_value = methods.EmailValidation(EmailTextField.Text); activityIndicator.Hidden = false; nextBn.Hidden = true; var UDID = UIDevice.CurrentDevice.IdentifierForVendor.ToString(); var deviceName = UIDevice.CurrentDevice.Name; string res = null; try { res = await accountActions.AccountVerification(deviceName, EmailTextField.Text.ToLower(), UDID); } catch { if (!methods.IsConnected()) { InvokeOnMainThread(() => { NoConnectionViewController.view_controller_name = GetType().Name; this.NavigationController.PushViewController(sb.InstantiateViewController(nameof(NoConnectionViewController)), false); return; }); } return(false); } Analytics.TrackEvent($"{deviceName} {res}"); activityIndicator.Hidden = true; nextBn.Hidden = false; string error_message = ""; UIAlertView alert = new UIAlertView() { Title = "Ошибка", Message = "Что-то пошло не так." }; if (res.Contains(Constants.alreadyDone)) { if (res.Contains(Constants.alreadyDone)) { var possibleRepeat = TimeZone.CurrentTimeZone.ToLocalTime(databaseMethods.GetRepeatAfter()); var hour = possibleRepeat.Hour.ToString(); var minute = possibleRepeat.Minute.ToString(); var second = possibleRepeat.Second.ToString(); if (hour.Length < 2) { hour = "0" + hour; } if (minute.Length < 2) { minute = "0" + minute; } if (second.Length < 2) { second = "0" + second; } alert.Message = "Запрос был выполнен ранее. Следующий можно будет выполнить после " + hour + ":" + minute + ":" + second; alert.AddButton("OK"); alert.Show(); return(false); } } if (res.Contains(Constants.SubscriptionConstraint) || String.IsNullOrEmpty(res)) { error_message = "_"; var vc = sb.InstantiateViewController(nameof(EmailAlreadyRegisteredViewController)); this.NavigationController.PushViewController(vc, true); } else if (res.Contains(Constants.emailFieldNotValid)) { error_message = "Неверный формат почты"; } if (!String.IsNullOrEmpty(error_message)) { if (!error_message.Contains("_")) { alert = new UIAlertView() { Title = "Ошибка", Message = error_message }; alert.AddButton("OK"); alert.Show(); } } if (res.Contains(Constants.actionJwt)) { var deserialized_value = JsonConvert.DeserializeObject <AccountVerificationModel>(res); databaseMethods.InsertActionJwt(deserialized_value.actionJwt); Analytics.TrackEvent($"{"actionJwt:"} {deserialized_value.actionJwt}"); actionToken = deserialized_value.actionToken; repeatAfter = deserialized_value.repeatAfter.AddSeconds(30); validTill = deserialized_value.validTill; databaseMethods.InsertValidTillRepeatAfter(validTill, repeatAfter, ConfirmEmailViewControllerNew.email_value); var vc = sb.InstantiateViewController(nameof(WaitingEmailConfirmViewController)); this.NavigationController.PushViewController(vc, true); } } catch (Exception ex) { UIAlertView alert_empty = new UIAlertView() { Title = "Email некорректен" }; alert_empty.AddButton("OK"); alert_empty.Show(); } } return(true); }
async Task <bool> ResendPremium() { AccountActions.cycledRequestCancelled = true; activityIndicator.Hidden = false; resendBn.Hidden = true; var deviceName = UIDevice.CurrentDevice.Name;//IdentifierForVendor.ToString(); var UDID = UIDevice.CurrentDevice.IdentifierForVendor.ToString(); if (!methods.IsConnected()) { activityIndicator.Hidden = true; resendBn.Hidden = false; return(false); } InvokeInBackground(async() => { string res = ""; try { res = await accountActions.AccountVerification(deviceName, databaseMethods.GetEmailFromValidTill_RepeatAfter(), UDID); } catch { if (!methods.IsConnected()) { InvokeOnMainThread(() => { PushNoConnection(); return; }); } return; } InvokeOnMainThread(() => { activityIndicator.Hidden = true; resendBn.Hidden = false; if (res.Contains("actionJwt")) { var deserialized_value = JsonConvert.DeserializeObject <AccountVerificationModel>(res); databaseMethods.InsertActionJwt(deserialized_value.actionJwt); EmailViewControllerNew.actionToken = deserialized_value.actionToken; EmailViewControllerNew.repeatAfter = deserialized_value.repeatAfter; EmailViewControllerNew.validTill = deserialized_value.validTill; databaseMethods.InsertValidTillRepeatAfter(EmailViewControllerNew.validTill, EmailViewControllerNew.repeatAfter, ConfirmEmailViewControllerNew.email_value); //ViewDidLoad(); //ViewDidAppear(false); var vc = sb.InstantiateViewController(nameof(WaitingEmailConfirmViewController)); thisNavController.PushViewController(vc, true); } if (res.ToLower().Contains("ыполнено ранее")) { UIAlertView alert = new UIAlertView() { Title = "Ошибка", Message = "Время повторного выполнения запроса ещё не наступило. Попробуйте повторить позже." }; alert.AddButton("OK"); alert.Show(); } }); }); return(true); }