private async void SendExecute() { if (_sentCode == null) { //... return; } if (_firstName == null) { RaisePropertyChanged("FIRSTNAME_INVALID"); return; } var phoneNumber = _phoneNumber; var phoneCodeHash = _sentCode.PhoneCodeHash; IsLoading = true; var response = await LegacyService.SignUpAsync(phoneNumber, phoneCodeHash, _phoneCode, _firstName, _lastName); if (response.IsSucceeded) { // TODO: maybe ask about notifications? NavigationService.Navigate(typeof(MainPage)); } else if (response.Error != null) { IsLoading = false; if (response.Error.TypeEquals(TLErrorType.PHONE_NUMBER_INVALID)) { await TLMessageDialog.ShowAsync(Strings.Resources.InvalidPhoneNumber, Strings.Resources.AppName, Strings.Resources.OK); } else if (response.Error.TypeEquals(TLErrorType.PHONE_CODE_EMPTY) || response.Error.TypeEquals(TLErrorType.PHONE_CODE_INVALID)) { await TLMessageDialog.ShowAsync(Strings.Resources.InvalidCode, Strings.Resources.AppName, Strings.Resources.OK); } else if (response.Error.TypeEquals(TLErrorType.PHONE_CODE_EXPIRED)) { await TLMessageDialog.ShowAsync(Strings.Resources.CodeExpired, Strings.Resources.AppName, Strings.Resources.OK); } else if (response.Error.TypeEquals(TLErrorType.FIRSTNAME_INVALID)) { await TLMessageDialog.ShowAsync(Strings.Resources.InvalidFirstName, Strings.Resources.AppName, Strings.Resources.OK); } else if (response.Error.TypeEquals(TLErrorType.LASTNAME_INVALID)) { await TLMessageDialog.ShowAsync(Strings.Resources.InvalidLastName, Strings.Resources.AppName, Strings.Resources.OK); } else { await TLMessageDialog.ShowAsync(response.Error.ErrorMessage, Strings.Resources.AppName, Strings.Resources.OK); } } }