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();
				}
			}
		}
Exemple #5
0
        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));

		}