Exemplo n.º 1
0
        public async Task <bool> Login(string username, string password)
        {
            LastResponse response = await Client.Auth.GetSessionTokenAsync(username, password);

            if (response.Success)
            {
                LastUserSession us = Client.Auth.UserSession;

                var userResponse = await Client.User.GetInfoAsync(us.Username);

                LastUser user = userResponse.Content;

                if (user != null)
                {
                    //MessageDialog md = new MessageDialog($"Welcome, {user.FullName}");
                    //await md.ShowAsync();
                    ApplicationSettings.LastFmSessionToken        = us.Token;
                    ApplicationSettings.LastFmSessionUsername     = us.Username;
                    ApplicationSettings.LastFmSessionUserImageUri = user.Avatar.Large.AbsoluteUri;

                    this.Connected?.Invoke(user);
                }
            }

            return(response.Success);
        }
Exemplo n.º 2
0
        private void SaveSession(LastUserSession session)
        {
            var json = JsonConvert.SerializeObject(session);

            var settings = ApplicationData.Current.LocalSettings;

            settings.Values[LastFMSessionKey] = json;
        }
        /// <summary>
        /// Logs the given <paramref name="usr"/> in.
        /// </summary>
        /// <param name="usr">User to log in.</param>
        private void LoginUser(User usr)
        {
            var session = new LastUserSession()
            {
                Username     = usr.Username,
                Token        = usr.Token,
                IsSubscriber = usr.IsSubscriber
            };

            if (_lastAuth.LoadSession(session))
            {
                ActiveUser = usr;
            }
        }
Exemplo n.º 4
0
        public async Task <LastResponse> GetSessionTokenAsync(string username, string password)
        {
            var command  = new GetMobileSessionCommand(this, username, password);
            var response = await command.ExecuteAsync();

            if (response.Success)
            {
                UserSession = response.Content;
                return(LastResponse.CreateSuccessResponse());
            }
            else
            {
                return(LastResponse.CreateErrorResponse <LastResponse>(response.Error));
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Logs the given <paramref name="usr"/> in.
        /// </summary>
        /// <param name="usr">User to log in.</param>
        private void LoginUser(User usr)
        {
            var session = new LastUserSession()
            {
                Username     = usr.Username,
                Token        = usr.Token,
                IsSubscriber = usr.IsSubscriber
            };

            if (_lastAuth.LoadSession(session))
            {
                ActiveUser = usr;
                usr.UpdateRecentScrobbles().Forget();
            }
        }
Exemplo n.º 6
0
        public async Task <LastResponse> GetSessionTokenAsync(string authToken)
        {
            var command = new GetSessionCommand(this, authToken)
            {
                HttpClient = HttpClient
            };
            var response = await command.ExecuteAsync();

            if (response.Success)
            {
                UserSession = response.Content;
                return(LastResponse.CreateSuccessResponse());
            }
            else
            {
                return(LastResponse.CreateErrorResponse <LastResponse>(response.Status));
            }
        }
Exemplo n.º 7
0
        public virtual void Initialise()
        {
            var testApiKey      = "59dd1140db864fd4a68ca820709eaf98";
            var testApiSecret   = "fa45357dcd914671a22def63cbe79a46";
            var testUserSession = new LastUserSession
            {
                IsSubscriber = false,
                Token        = "071a119a9aac4942b1b05328a5591f55",
                Username     = "******"
            };

            MockAuth = new Mock <ILastAuth>();
            MockAuth.SetupGet(m => m.Authenticated).Returns(true);
            MockAuth.SetupGet(m => m.ApiKey).Returns(testApiKey);

            var stubAuth = new LastAuth(testApiKey, testApiSecret);

            stubAuth.LoadSession(testUserSession);
            MockAuth.Setup(m => m.GenerateMethodSignature(It.IsAny <string>(), It.IsAny <Dictionary <string, string> >()))
            .Returns <string, Dictionary <string, string> >((method, parameters) => stubAuth.GenerateMethodSignature(method, parameters));

            FakeResponseHandler = new QueueFakeResponseHandler();
            Scrobbler           = GetScrobbler();
        }
Exemplo n.º 8
0
 /// <summary>
 /// Load an existing user session
 /// </summary>
 /// <param name="session">Session to load</param>
 /// <returns>Whether session object is valid</returns>
 public bool LoadSession(LastUserSession session)
 {
     UserSession = session;
     return(true);
 }