private void RequestAccessTokenCompleted(RestRequest request, RestResponse response, object userstate) { isCanceled = false; string accessToken = GetQueryParameter(response.Content, "oauth_token"); string accessTokenSecret = GetQueryParameter(response.Content, "oauth_token_secret"); string userId = GetQueryParameter(response.Content, "user_id"); string screenName = GetQueryParameter(response.Content, "screen_name"); if (!string.IsNullOrEmpty(accessToken) && !string.IsNullOrEmpty(accessTokenSecret)) { TwitterAccess twitterAccess = new TwitterAccess(accessToken, accessTokenSecret, userId, screenName); TwitterAccessMessage.Send(twitterAccess, DrumbleApp.Shared.Messages.Enums.TwitterAccessMessageReason.Authorised); } else { TwitterAccessMessage.Send(null, DrumbleApp.Shared.Messages.Enums.TwitterAccessMessageReason.FailedAuthorisation); } Dispatcher.BeginInvoke(() => { if (NavigationService.CanGoBack) { NavigationService.GoBack(); } }); }
private void SetTwitterDetails(TwitterAccessMessage twitterAccessMessage) { switch (twitterAccessMessage.Reason) { case Messages.Enums.TwitterAccessMessageReason.Authorised: Action registerUserTwitter = async () => { user = UnitOfWork.UserRepository.GetUser(); user.TwitterInfo = new TwitterInfo(twitterAccessMessage.TwitterAccess.AccessToken, twitterAccessMessage.TwitterAccess.AccessTokenSecret, twitterAccessMessage.TwitterAccess.UserId); cancellationTokenSource = new CancellationTokenSource(); user = await DrumbleApi.RegisterTwitter(cancellationTokenSource.Token, user); UnitOfWork.UserRepository.Update(user); UnitOfWork.Save(); base.HideHeaderLoader(); EmailTextBoxIsEnabled = true; NavigationService.NavigateTo("/Views/Profile.xaml"); }; DispatcherHelper.CheckBeginInvokeOnUI(registerUserTwitter); break; case Messages.Enums.TwitterAccessMessageReason.FailedAuthorisation: case Messages.Enums.TwitterAccessMessageReason.CanceledAuthorisation: base.HideHeaderLoader(); EmailTextBoxIsEnabled = true; break; } }
private void SetTwitterDetails(TwitterAccessMessage twitterAccessMessage) { switch (twitterAccessMessage.Reason) { case Messages.Enums.TwitterAccessMessageReason.Authorised: Action registerUserTwitter = async() => { user = UnitOfWork.UserRepository.GetUser(); user.TwitterInfo = new TwitterInfo(twitterAccessMessage.TwitterAccess.AccessToken, twitterAccessMessage.TwitterAccess.AccessTokenSecret, twitterAccessMessage.TwitterAccess.UserId); cancellationTokenSource = new CancellationTokenSource(); user = await DrumbleApi.RegisterTwitter(cancellationTokenSource.Token, user); UnitOfWork.UserRepository.Update(user); UnitOfWork.Save(); base.HideHeaderLoader(); EmailTextBoxIsEnabled = true; NavigationService.NavigateTo("/Views/Profile.xaml"); }; DispatcherHelper.CheckBeginInvokeOnUI(registerUserTwitter); break; case Messages.Enums.TwitterAccessMessageReason.FailedAuthorisation: case Messages.Enums.TwitterAccessMessageReason.CanceledAuthorisation: base.HideHeaderLoader(); EmailTextBoxIsEnabled = true; break; } }
protected override void OnNavigatedFrom(NavigationEventArgs e) { base.OnNavigatedFrom(e); if (isCanceled) { TwitterAccessMessage.Send(null, DrumbleApp.Shared.Messages.Enums.TwitterAccessMessageReason.CanceledAuthorisation); } }
private void SetTwitterDetails(TwitterAccessMessage twitterAccessMessage) { switch (twitterAccessMessage.Reason) { case Messages.Enums.TwitterAccessMessageReason.Authorised: Action registerUserTwitter = async() => { if (user == null) { user = new User(); } user.TwitterInfo = new TwitterInfo(twitterAccessMessage.TwitterAccess.AccessToken, twitterAccessMessage.TwitterAccess.AccessTokenSecret, twitterAccessMessage.TwitterAccess.UserId); cancellationTokenSource = new CancellationTokenSource(); user = await DrumbleApi.LoginTwitter(cancellationTokenSource.Token, user); if (isInAppLogin) { UnitOfWork.UserRepository.Update(user); } else { UnitOfWork.UserRepository.Insert(user); } UnitOfWork.Save(); base.HideHeaderLoader(); EmailTextBoxIsEnabled = true; if (isInAppLogin) { NavigationService.NavigateTo("/Views/Profile.xaml"); } else { NavigationService.NavigateTo("/Views/SplashScreen.xaml?pagestate=twitterlogin"); } }; DispatcherHelper.CheckBeginInvokeOnUI(registerUserTwitter); break; case Messages.Enums.TwitterAccessMessageReason.FailedAuthorisation: case Messages.Enums.TwitterAccessMessageReason.CanceledAuthorisation: base.HideHeaderLoader(); EmailTextBoxIsEnabled = true; break; } }