private async void SendExecute() { if (string.IsNullOrEmpty(_phoneCode)) { RaisePropertyChanged("PHONE_CODE_INVALID"); return; } if (string.IsNullOrEmpty(_phoneNumber)) { RaisePropertyChanged("PHONE_NUMBER_INVALID"); return; } IsLoading = true; var response = await ProtoService.SendChangePhoneCodeAsync(_phoneCode + _phoneNumber, /* TODO: Verify */ null); if (response.IsSucceeded) { var state = new SettingsPhoneSentCodePage.NavigationParameters { PhoneNumber = PhoneCode.TrimStart('+') + PhoneNumber, Result = response.Result, }; NavigationService.Navigate(typeof(SettingsPhoneSentCodePage), state); } else if (response.Error != null) { IsLoading = false; if (response.Error.TypeEquals(TLErrorType.PHONE_NUMBER_FLOOD)) { await TLMessageDialog.ShowAsync("Sorry, you have deleted and re-created your account too many times recently. Please wait for a few days before signing up again.", "Telegram", "OK"); } else { await new TLMessageDialog(response.Error.ErrorMessage ?? "Error message", response.Error.ErrorCode.ToString()).ShowQueuedAsync(); } } }
private async void SendExecute() { if (string.IsNullOrEmpty(_phoneCode)) { RaisePropertyChanged("PHONE_CODE_INVALID"); return; } if (string.IsNullOrEmpty(_phoneNumber)) { RaisePropertyChanged("PHONE_NUMBER_INVALID"); return; } IsLoading = true; var response = await ProtoService.SendCodeAsync(_phoneCode + _phoneNumber, /* TODO: Verify */ null); if (response.IsSucceeded) { var state = new SignInSentCodePage.NavigationParameters { PhoneNumber = PhoneCode.TrimStart('+') + PhoneNumber, Result = response.Result, }; NavigationService.Navigate(typeof(SignInSentCodePage), state); } else if (response.Error != null) { IsLoading = false; if (response.Error.TypeEquals(TLErrorType.PHONE_NUMBER_INVALID)) { //needShowInvalidAlert(req.phone_number, false); } else if (response.Error.TypeEquals(TLErrorType.PHONE_NUMBER_FLOOD)) { await TLMessageDialog.ShowAsync(Strings.Android.PhoneNumberFlood, Strings.Android.AppName, Strings.Android.OK); } //else if (response.Error.TypeEquals(TLErrorType.PHONE_NUMBER_BANNED)) //{ // needShowInvalidAlert(req.phone_number, true); //} else if (response.Error.TypeEquals(TLErrorType.PHONE_CODE_EMPTY) || response.Error.TypeEquals(TLErrorType.PHONE_CODE_INVALID)) { await TLMessageDialog.ShowAsync(Strings.Android.InvalidCode, Strings.Android.AppName, Strings.Android.OK); } else if (response.Error.TypeEquals(TLErrorType.PHONE_CODE_EXPIRED)) { await TLMessageDialog.ShowAsync(Strings.Android.CodeExpired, Strings.Android.AppName, Strings.Android.OK); } else if (response.Error.ErrorMessage.StartsWith("FLOOD_WAIT")) { await TLMessageDialog.ShowAsync(Strings.Android.FloodWait, Strings.Android.AppName, Strings.Android.OK); } else if (response.Error.ErrorCode != -1000) { await TLMessageDialog.ShowAsync(response.Error.ErrorMessage, Strings.Android.AppName, Strings.Android.OK); } } }