Пример #1
0
        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);
Пример #2
0
        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);
            }
        }