Пример #1
0
        public async Task Scrobble()
        {
            InProgress = true;

            var appsettings = new ApplicationSettingsService();

            var apikey    = appsettings.Get <string>("apikey");
            var apisecret = appsettings.Get <string>("apisecret");
            var username  = appsettings.Get <string>("username");
            var pass      = appsettings.Get <string>("pass");

            var auth = new LastAuth(apikey, apisecret);
            await auth.GetSessionTokenAsync(username, pass);

            var trackApi = new Core.Api.TrackApi(auth);

            var scrobble = new Scrobble(Artist, Album, Track, DateTime.UtcNow)
            {
                AlbumArtist = AlbumArtist
            };

            var response = await trackApi.ScrobbleAsync(scrobble);

            Successful = response.Success;

            InProgress = false;
        }
Пример #2
0
        internal async Task <bool> Connect(string account, string password)
        {
            var lastResponse = await _auth.GetSessionTokenAsync(account, password);

            IsConnected = lastResponse.Success && _auth.Authenticated;
            return(IsConnected);
        }
Пример #3
0
        private async Task <LastResponseStatus> GetSessionTokenWithResultsAsync(string username, string password)
        {
            try
            {
                var response = await _auth.GetSessionTokenAsync(username, password);

                return(response.Status);
            }
            catch
            {
                return(LastResponseStatus.RequestFailed);
            }
        }
Пример #4
0
        public async Task GetInfo()
        {
            InProgress = true;

            var appsettings = new ApplicationSettingsService();
            var apikey      = appsettings.Get <string>("apikey");
            var apisecret   = appsettings.Get <string>("apisecret");
            var username    = appsettings.Get <string>("username");
            var pass        = appsettings.Get <string>("pass");

            var auth = new LastAuth(apikey, apisecret);

            var response = await auth.GetSessionTokenAsync(username, pass);

            if (response.Success && auth.Authenticated)
            {
                ClearLists();

                var artistApi = new Core.Api.ArtistApi(auth);

                var topTracks = await artistApi.GetTopTracksForArtistAsync(ArtistName);

                if (topTracks.Success)
                {
                    TopTracks = topTracks;
                }

                var topAlbums = await artistApi.GetTopAlbumsForArtistAsync(ArtistName);

                if (topAlbums.Success)
                {
                    TopAlbums = topAlbums;
                }

                var similarArtists = await artistApi.GetSimilarArtistsAsync(ArtistName, false, 20);

                if (similarArtists.Success)
                {
                    SimilarArtists = similarArtists;
                }

                var artist = await artistApi.GetArtistInfoAsync(ArtistName);

                if (artist.Success)
                {
                    LastArtist = artist.Content;
                }
            }

            InProgress = false;
        }
Пример #5
0
        private async Task Authenticate()
        {
            var appsettings = new ApplicationSettingsService();

            var apikey    = appsettings.Get <string>("apikey");
            var apisecret = appsettings.Get <string>("apisecret");
            var username  = appsettings.Get <string>("username");
            var pass      = appsettings.Get <string>("pass");

            var auth = new LastAuth(apikey, apisecret);

            InProgress = true;
            await auth.GetSessionTokenAsync(username, pass);

            InProgress = false;

            Auth = auth;
        }
Пример #6
0
        public void Initialise()
        {
            Auth = new LastAuth(LastFm.TEST_APIKEY, LastFm.TEST_APISECRET);

            Auth.GetSessionTokenAsync(INTEGRATION_TEST_USER, INTEGRATION_TEST_PASSWORD).Wait();
        }