public async Task <ChangedProfileData> ChangeEmailAsync(string email, CancellationToken cancellationToken = default(CancellationToken)) => await Task.Run(async() => { ChangedProfileData changedProfileData = null; string url = string.Format(BaseSingleton <GlobalSetting> .Instance.RestEndpoints.IdentityEndpoints.ChangeEmailEndPoint, email); string accessToken = BaseSingleton <GlobalSetting> .Instance.UserProfile.AccesToken; try { changedProfileData = await _requestProvider.PostAsync <ChangedProfileData, object>(url, null, accessToken); if (changedProfileData != null) { BaseSingleton <GlobalSetting> .Instance.UserProfile.Email = changedProfileData.Email; BaseSingleton <GlobalSetting> .Instance.UserProfile.SaveChanges(); } } catch (ConnectivityException ex) { throw ex; } catch (ServiceAuthenticationException ex) { await LogOutAsync(); throw ex; } catch (HttpRequestExceptionEx ex) { throw ex; } catch (Exception ex) { Debug.WriteLine($"ERROR:{ex.Message}"); Debugger.Break(); } return(changedProfileData); }, cancellationToken);
protected async override void OnStepCommand() { if (ValidateForm()) { ResetCancellationTokenSource(ref _changeUserNameCancellationTokenSource); CancellationTokenSource cancellationTokenSource = _changeUserNameCancellationTokenSource; Guid busyKey = Guid.NewGuid(); SetBusy(busyKey, true); try { ChangedProfileData changedProfileData = await _identityService.ChangeUserNameAsync(MainInput.Value, _changeUserNameCancellationTokenSource.Token); if (changedProfileData != null) { await NavigationService.PreviousPageViewModel?.InitializeAsync(null); await NavigationService.GoBackAsync(); } } catch (HttpRequestExceptionEx ex) { var tt = JsonConvert.DeserializeObject <HttpRequestExceptionResult>(ex.Message); await DialogService.ToastAsync(tt.Message); Debug.WriteLine($"ERROR:{tt.Message}"); Debugger.Break(); } catch (Exception ex) { await DialogService.ToastAsync(ex.Message); Debug.WriteLine($"ERROR:{ex.Message}"); Debugger.Break(); } SetBusy(busyKey, false); } }