public override RegistrationRequestDataModel BuildRegistrationDataModel() { RegistrationRequestDataModel registrationRequestDataModel = base.BuildRegistrationDataModel(); registrationRequestDataModel.Type = ProfileType.Fan.ToString(); return(registrationRequestDataModel); }
public Task <RegistrationResponse> RegistrationAsync(RegistrationRequestDataModel registrationRequestDataModel, CancellationTokenSource cancellationTokenSource) => Task.Run(async() => { if (!CrossConnectivity.Current.IsConnected) { throw new InvalidOperationException(AppConsts.ERROR_INTERNET_CONNECTION); } RegistrationRequest registrationRequest = new RegistrationRequest { Url = string.Format(GlobalSettings.Instance.Endpoints.AuthenticationEndpoints.RegistrationEndPoints), Data = registrationRequestDataModel }; string testJSON = JsonConvert.SerializeObject(registrationRequest); RegistrationResponse registrationResponse = null; try { registrationResponse = await _requestProvider.PostAsync <RegistrationRequest, RegistrationResponse>(registrationRequest); } catch (ServiceAuthenticationException exc) { _identityUtilService.RefreshToken(); throw exc; } catch (Exception ex) { Crashes.TrackError(ex); string output = ""; try { RegistrationBadResponse registrationBadResponse = JsonConvert.DeserializeObject <RegistrationBadResponse>(ex.Message); output = string.Format("{0} {1}", registrationBadResponse.Errors?.FirstOrDefault(), registrationBadResponse.DateOfBirth?.FirstOrDefault().Split('\r').FirstOrDefault()); } catch (Exception exc) { output = ex.Message; } output = (string.IsNullOrWhiteSpace(output) || string.IsNullOrEmpty(output)) ? _COMMON_REGISTRATION_ERROR : output; throw new InvalidOperationException(output.Trim()); } return(registrationResponse); }, cancellationTokenSource.Token);