public async Task <ResponseEnvelope <string> > RegisterUserUsingSocialAsync(string accessToken, AuthProvider provider) { try { if (string.IsNullOrEmpty(accessToken)) { return(await ResponseEnvelope <string> .BadRequestAsync(INVALID_DATA)); } if (provider == AuthProvider.Forms) { return(await ResponseEnvelope <string> .BadRequestAsync(INVALID_DATA)); } Req_SocialRequest_Dto dto = new Req_SocialRequest_Dto() { AccessToken = accessToken, Provider = Enum.GetName(typeof(Enums.AuthProvider), provider).ToLower() }; var response = await this.ClientApi.PostJsonRequestAsync <string, Req_SocialRequest_Dto>(WebApi.ApiSocialRegistration, dto); return(response); } catch (NoInternetConnectionException) { return(await ResponseEnvelope <string> .ErrorAsync(NO_INTERNET_CONNECTION)); } catch (Exception ex) { return(await ResponseEnvelope <string> .ErrorAsync(INTERNAL_ERROR, ex)); } }
public async Task <ResponseEnvelope <UserModel> > SocialLoginAsync(string accessToken, AuthProvider provider) { try { if (string.IsNullOrEmpty(accessToken)) { return(await ResponseEnvelope <UserModel> .BadRequestAsync(INVALID_DATA)); } if (provider == AuthProvider.Forms) { return(await ResponseEnvelope <UserModel> .BadRequestAsync(INVALID_DATA)); } Req_SocialRequest_Dto dto = new Req_SocialRequest_Dto() { AccessToken = accessToken, Provider = Enum.GetName(typeof(Enums.AuthProvider), provider).ToLower() }; var response = await this.ClientApi.PostJsonRequestAsync <UserProfile_Dto, Req_SocialRequest_Dto>(WebApi.ApiSocialLogin, dto); if (response.Ack == AckCode.SUCCESS) { //update user data in local db userRepository.ClearUser(); UserEntity dbUser = response.Data.ToDbEntity(); if (dbUser != null) { userRepository.SaveUser(dbUser); this.RefreshProxyData(); } return(await ResponseEnvelope <UserModel> .SuccessAsync(response.Data.ToModel())); } return(await ResponseEnvelope <UserModel> .ErrorAsync(response.Message)); } catch (NoInternetConnectionException) { return(await ResponseEnvelope <UserModel> .ErrorAsync(NO_INTERNET_CONNECTION)); } catch (Exception ex) { return(await ResponseEnvelope <UserModel> .ErrorAsync(INTERNAL_ERROR, ex)); } }