public override RegistrationRequestDataModel BuildRegistrationDataModel()
        {
            RegistrationRequestDataModel registrationRequestDataModel = base.BuildRegistrationDataModel();

            registrationRequestDataModel.Type = ProfileType.Fan.ToString();

            return(registrationRequestDataModel);
        }
Exemplo n.º 2
0
        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);