//public Task<ProfileMediaDTO> SetAvatarAsync(string base64PickedAvatar, CancellationTokenSource cancellationTokenSource) => // Task<ProfileMediaDTO>.Run(async () => { // if (!CrossConnectivity.Current.IsConnected) { // throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION); // } // ProfileMediaDTO addedAvatar = null; // SetProfileAvatarRequest setProfileAvatarRequest = new SetProfileAvatarRequest() { // Url = GlobalSettings.Instance.Endpoints.ProfileEndpoints.SetProfileAvatarEndPoint, // AccessToken = GlobalSettings.Instance.UserProfile.AccesToken, // Data = new SetProfileAvatarDataModel() { // ImageDataBase64 = base64PickedAvatar, // ImageFileName = string.Format("{0}.{1}", Guid.NewGuid(), ProfileMediaService.PNG_IMAGE_FORMAT) // } // }; // try { // SetProfileAvatarResponse setProfileAvatarResponse = await _requestProvider.PostAsync<SetProfileAvatarRequest, SetProfileAvatarResponse>(setProfileAvatarRequest); // if (setProfileAvatarResponse != null) { // addedAvatar = new ProfileMediaDTO() { // Id = setProfileAvatarResponse.Id, // Name = setProfileAvatarResponse.Name, // ThumbnailUrl = setProfileAvatarResponse.ThumbnailUrl, // Url = setProfileAvatarResponse.Url // }; // } // else { // throw new InvalidOperationException(ProfileService._SET_AVATAR_COMMON_ERROR_MESSAGE); // } // } // catch (ServiceAuthenticationException exc) { // _identityUtilService.RefreshToken(); // throw exc; // } // catch (Exception exc) { // Crashes.TrackError(exc); // throw exc; // } // return addedAvatar; // }, cancellationTokenSource.Token); public Task <SetProfileSettingsResponse> SetProfileAsync(SetProfileDataModel setProfileDataModel, CancellationTokenSource cancellationTokenSource) => Task <SetProfileSettingsResponse> .Run(async() => { if (!CrossConnectivity.Current.IsConnected) { throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION); } SetProfileSettingsResponse setProfileSettingsResponse = null; SetProfileSettingsRequest setProfileSettingsRequest = new SetProfileSettingsRequest() { AccessToken = GlobalSettings.Instance.UserProfile.AccesToken, Data = setProfileDataModel, Url = GlobalSettings.Instance.Endpoints.ProfileEndpoints.SetProfileSettingsEndPoint }; try { setProfileSettingsResponse = await _requestProvider.PostAsync <SetProfileSettingsRequest, SetProfileSettingsResponse>(setProfileSettingsRequest); if (setProfileSettingsResponse == null) { throw new InvalidOperationException(SET_PROFILE_SETTINGS_COMMON_ERROR_MESSAGE); } } catch (ServiceAuthenticationException exc) { _identityUtilService.RefreshToken(); throw exc; } catch (HttpRequestExceptionEx exc) { SetProfileSettingsErrorResponse crutch = JsonConvert.DeserializeObject <SetProfileSettingsErrorResponse>(exc.Message); throw new InvalidOperationException(string.Format("{0}{1}{2}{3}{4}{5}", crutch.Empty?.FirstOrDefault(), crutch.ProvidedPassword?.FirstOrDefault(), crutch.CurrentPassword?.FirstOrDefault(), crutch.Email?.FirstOrDefault(), crutch.FirstName?.FirstOrDefault(), crutch.LastName?.FirstOrDefault())); } catch (Exception exc) { Crashes.TrackError(exc); throw exc; } return(setProfileSettingsResponse); }, cancellationTokenSource.Token);
public Task <bool> ChargeUserProfileAsync(SetProfileSettingsResponse setProfileSettingsResponse, bool restartSignalHubs) => Task <bool> .Run(async() => { if (setProfileSettingsResponse != null) { GlobalSettings.Instance.UserProfile.About = setProfileSettingsResponse.About; GlobalSettings.Instance.UserProfile.MySports = setProfileSettingsResponse.MySports; GlobalSettings.Instance.UserProfile.Children = setProfileSettingsResponse.Children; GlobalSettings.Instance.UserProfile.Id = setProfileSettingsResponse.Id; GlobalSettings.Instance.UserProfile.Type = setProfileSettingsResponse.Type; GlobalSettings.Instance.UserProfile.FirstName = setProfileSettingsResponse.FirstName; GlobalSettings.Instance.UserProfile.LastName = setProfileSettingsResponse.LastName; GlobalSettings.Instance.UserProfile.DisplayName = setProfileSettingsResponse.DisplayName; GlobalSettings.Instance.UserProfile.ShortId = setProfileSettingsResponse.ShortId; GlobalSettings.Instance.UserProfile.IsEmailConfirmed = setProfileSettingsResponse.IsEmailConfirmed; GlobalSettings.Instance.UserProfile.DateOfBirth = setProfileSettingsResponse.DateOfBirth; /// /// Returned avatars list is empty /// //GlobalSettings.Instance.UserProfile.Avatar = setProfileSettingsResponse.Avatar; //GlobalSettings.Instance.UserProfile.BackgroundImage = setProfileSettingsResponse.BackgroundImage; GlobalSettings.Instance.UserProfile.Availability = setProfileSettingsResponse.Availability; GlobalSettings.Instance.UserProfile.LastSeen = setProfileSettingsResponse.LastSeen; GlobalSettings.Instance.UserProfile.ParentId = setProfileSettingsResponse.ParentId; GlobalSettings.Instance.UserProfile.ChildUserName = setProfileSettingsResponse.ChildUserName; GlobalSettings.Instance.UserProfile.ChildPassword = setProfileSettingsResponse.ChildPassword; GlobalSettings.Instance.UserProfile.Contact = setProfileSettingsResponse.Contact; GlobalSettings.Instance.UserProfile.Address = setProfileSettingsResponse.Address; GlobalSettings.Instance.UserProfile.BrandImage = setProfileSettingsResponse.BrandImage; GlobalSettings.Instance.UserProfile.ProfileType = (ProfileType)Enum.Parse(typeof(ProfileType), setProfileSettingsResponse.Type); Settings.UserProfile = JsonConvert.SerializeObject(GlobalSettings.Instance.UserProfile); if (restartSignalHubs) { await RestartSocketServicesAsync(); } return(true); } return(false); });