private async Task SetAccessTokenAsync(FacebookAccess facebookAccessData) { FacebookProfile profile = await _facebookFacade.GetUserProfile(facebookAccessData.AccessToken); _facebookAccountData = new FacebookAccount(facebookAccessData, profile); if (LoginCompleted != null) { LoginCompleted(_facebookAccountData); } }
private void LogInWithFacebookButton_Click(object sender, RoutedEventArgs e) { MainWindow.Instance.PanelLoading = true; MainWindow.Instance.PanelMainMessage = "Enregistrement en cours"; var dialog = new FacebookLoginWindow() { AppId = "719645478171450" }; if (dialog.ShowDialog() == true) { // Get the access token from Facebook _user.FacebookToken = dialog.AccessToken; _user.PlayerLoginType = User.LoginType.Facebook; // Login with facebook credentials var inputDialog = new ChatCanalInputWindow("Please enter your username:"******"Facebook User is invalid - frontend"); return; } try { var token = _userAccess.Register(username, "", userId); _user.UserToken = token; _user.FacebookId = userId; _user.Name = username; _user.IsConnected = true; // Go to main menu if login is completed Load.LoadOnLogin(); MainWindow.Instance.PanelLoading = false; _eventManager.Notice(new ChangeStateEvent() { NextState = Enums.States.MainMenu }); FacebookAccess.PostOnWall(_user.FacebookToken, "Je me suis enregistrer a Princess Love balls (Projet 3 informatique)"); } catch (Exception exception) { ShowError(exception.Message); } } } }
public async Task<AccountData> LoginAsync(FacebookAccess facebookAccess) { Task<FacebookProfile> facebookProfileTask = _facebookFacade.GetUserProfile(facebookAccess.AccessToken); Task<BiketimerAccount> biketimerAccountTask = _biketimerIdentityFacade.GetBiketimerToken(facebookAccess.AccessToken) .ContinueWith(DownloadBiketimerAccountAsync) .Unwrap(); FacebookProfile facebookProfile = await facebookProfileTask; BiketimerAccount biketimerAccount = await biketimerAccountTask; FacebookAccount facebookAccount = new FacebookAccount(facebookAccess, facebookProfile); AccountData _accountData = new AccountData(facebookAccount, biketimerAccount); return _accountData; }
private async Task HandleLoginProcessAsync(FacebookAccess facebookAccess) { try { LoginProcessor loginProcessor = new LoginProcessor(); _accountData = await loginProcessor.LoginAsync(facebookAccess); if (LoginCompleted != null) { LoginCompleted(_accountData); } } catch(Exception e) { if (LoginFailed != null) { LoginFailed(); } } }
private static void CheckAchievement(EnumsModel.Achievement achievement, Bitmap image) { if (CurrentUserAchievements != null && CurrentUserAchievements.ContainsKey(achievement) && !CurrentUserAchievements[achievement]) { // trigger Achievement ProgressManager.TriggerProgress(ProgressManager.ProgressType.DoneAchievement); MainWindow.Achievement.ShowAchievement(image); CurrentUserAchievements[achievement] = true; CheckForAllAchievements(); StatsManager.UpdateAchievementsUnlocked(); // Sync achievements ProfileAccess.Instance.UpdateUserProfile(Profile.Instance.CurrentProfile); // Post on wall if (!string.IsNullOrWhiteSpace(User.Instance.FacebookToken)) { FacebookAccess.PostOnWall(User.Instance.FacebookToken, achievement); } } }
public void StartLogin(FacebookAccess facebookAccess) { Task.Run(async () => await HandleLoginProcessAsync(facebookAccess)); }
private void OnAccessTokenReceived(object sender, FacebookLoginKit.LoginButtonCompletedEventArgs eventArgs) { if (eventArgs.Error != null || eventArgs.Result.IsCancelled) { return; } ViewHelpers.AddLoadingOverlay(View); FacebookAccess facebookAccess = new FacebookAccess( eventArgs.Result.Token.TokenString, eventArgs.Result.Token.Permissions.Select(p => p.Self.ToString())); //FacebookStateManager.Instance.SetAccessToken(facebookAccess); AccountManager.Instance.StartLogin(facebookAccess); }
public void SetAccessToken(FacebookAccess facebookAccessData) { System.Threading.Tasks.Task.Run(async () => await SetAccessTokenAsync(facebookAccessData)); }