async Task <bool> AcceptBn_TouchUpInside(object sender, EventArgs e) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); return(true); } _activityIndicator.Visibility = ViewStates.Visible; _acceptBn.Visibility = ViewStates.Gone; _cancelBn.Visibility = ViewStates.Gone; var deviceId = NativeMethods.GetDeviceId(); var clientName = Android.OS.Build.Manufacturer + " " + Android.OS.Build.Model; string res = null; try { res = await _accountActions.AccountPurge(clientName, ConfirmEmailActivity.EmailValue, deviceId); } catch (Exception ex) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); return(false); } } if (String.IsNullOrEmpty(res)) { if (!_methods.IsConnected()) { NoConnectionActivity.ActivityName = this; StartActivity(typeof(NoConnectionActivity)); Finish(); return(false); } } Analytics.TrackEvent($"{"ActionJwt:"} {res}"); _activityIndicator.Visibility = ViewStates.Gone; _acceptBn.Visibility = ViewStates.Visible; _cancelBn.Visibility = ViewStates.Visible; if (res.Contains("actionJwt")) { var deserializedValue = JsonConvert.DeserializeObject <AccountVerificationModel>(res); Analytics.TrackEvent($"{"ActionJwt:"} {deserializedValue.actionJwt}"); _databaseMethods.InsertActionJwt(deserializedValue.actionJwt); EmailActivity.ActionToken = deserializedValue.actionToken; EmailActivity.RepeatAfter = deserializedValue.repeatAfter; EmailActivity.ValidTill = deserializedValue.validTill; _databaseMethods.InsertValidTillRepeatAfter(EmailActivity.ValidTill, EmailActivity.RepeatAfter, ConfirmEmailActivity.EmailValue); WaitingEmailConfirmActivity.CameFromPurge = true; StartActivity(typeof(WaitingEmailConfirmActivity)); } else { 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(true); } Toast.MakeText(this, TranslationHelper.GetString("smthngWentWrong", _ci), ToastLength.Short).Show(); } return(true); }
void AcceptBn_TouchUpInside(object sender, EventArgs e) { if (!methods.IsConnected()) { NoConnectionViewController.view_controller_name = GetType().Name; this.NavigationController.PushViewController(sb.InstantiateViewController(nameof(NoConnectionViewController)), false); return; } activityIndicator.Hidden = false; acceptBn.Hidden = true; cancelBn.Hidden = true; InvokeInBackground(async() => { var deviceName = UIDevice.CurrentDevice.Name;//IdentifierForVendor.ToString(); var UDID = UIDevice.CurrentDevice.IdentifierForVendor.ToString(); string res = null; try { res = await accountActions.AccountPurge(deviceName, ConfirmEmailViewControllerNew.email_value, UDID); } catch { if (!methods.IsConnected()) { InvokeOnMainThread(() => { NoConnectionViewController.view_controller_name = GetType().Name; this.NavigationController.PushViewController(sb.InstantiateViewController(nameof(NoConnectionViewController)), false); return; }); } return; } Analytics.TrackEvent($"{deviceName} {res}"); InvokeOnMainThread(() => { activityIndicator.Hidden = true; acceptBn.Hidden = false; cancelBn.Hidden = false; 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); WaitingEmailConfirmViewController.cameFromPurge = true; var vc = sb.InstantiateViewController(nameof(WaitingEmailConfirmViewController)); this.NavigationController.PushViewController(vc, true); } else { UIAlertView alert = new UIAlertView() { Title = "Ошибка", Message = "Что-то пошло не так." }; 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; } alert.AddButton("OK"); alert.Show(); } }); }); }