public async Task OnNavigatedTo(SpotifyArtist artist)
        {
            PopularTracks  = new ObservableCollection <SpotifyTrack>();
            Albums         = new ObservableCollection <SpotifyAlbum>();
            Singles        = new ObservableCollection <SpotifyAlbum>();
            RelatedArtists = new ObservableCollection <SpotifyArtist>();
            this.artist    = artist;
            var highestResImage = artist.GetLargestImage();

            if (highestResImage == null)
            {
                ArtistImageUrl = new Uri("ms-appx:///Assets/PlaceholderArtist.png");
            }
            else
            {
                ArtistImageUrl = new Uri(highestResImage.Url);
            }
            ArtistName = artist.Name;
            PopularTracks.AddRange(await AppConstants.SpotifyClient.GetArtistsTopTracks(artist.Id, HelperMethods.GetUsersCountry()));
            SpotifyPagingObject <SpotifyAlbum> albums = await AppConstants.SpotifyClient.GetArtistsAlbums(artist.Id, new List <Reverb.SpotifyConstants.SpotifyArtistIncludeGroups>()
            {
                Reverb.SpotifyConstants.SpotifyArtistIncludeGroups.Album
            });

            Albums.AddRange(albums.Items);
            SpotifyPagingObject <SpotifyAlbum> singles = await AppConstants.SpotifyClient.GetArtistsAlbums(artist.Id, new List <Reverb.SpotifyConstants.SpotifyArtistIncludeGroups>()
            {
                Reverb.SpotifyConstants.SpotifyArtistIncludeGroups.Single
            });

            Singles.AddRange(singles.Items);
            RelatedArtists.AddRange(await AppConstants.SpotifyClient.GetArtistsRelatedArtists(artist.Id));
        }
        public async Task <ActionResult <object> > GetArtist([FromQuery] SpotifyArtist artist)
        {
            SpotifyClientCredentialsAuthService.StartCredentialsAuth();

            var artistData = SpotifyClientCredentialsAuthService.GetArtist(artist.Id);

            return(Ok(artistData));
        }
示例#3
0
 public ArtistController
     (IMapper mapper, SpotifyArtist artistRepo,
     ICookieManager cookiesManager, FullArtistViewModel model)
 {
     _mapper         = mapper;
     _artistRepo     = artistRepo;
     _model          = model;
     _cookiesManager = cookiesManager;
 }
示例#4
0
        /// <summary>
        /// Start the app. with the TopTen artist.
        /// </summary>
        /// <returns></returns>
        public async Task <ActionResult> Index()
        {
            ViewBag.Access_token = await GetAccessTokenAsync();

            SpotifyArtist artist = await GetRequest <SpotifyArtist> .TopArtistSearchAsync(ViewBag.Access_token);

            ViewBag.Artists = artist.Artists;

            return(View());
        }
示例#5
0
 public static Artist CreateArtist(SpotifyArtist inArtist)
 {
     return(new Artist
     {
         Id = inArtist.Id,
         Name = inArtist.Name,
         Uri = inArtist.Uri,
         Type = inArtist.Type,
         Href = inArtist.Href
     });
 }
示例#6
0
        /// <summary>
        /// Use to change page when you have more than 20 artists
        /// </summary>
        /// <param name="uri"></param>
        /// <param name="type"></param>
        /// <param name="offset"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        public async Task <ActionResult> SearchURI(string uri, string type, string offset, string limit)
        {
            if (uri != "" && type != "" && offset != "" && limit != "")
            {
                string completUri = uri + "&type=" + type + "&offset=" + offset + "&limit=" + limit;

                SpotifyArtist artist = await GetRequest <SpotifyArtist> .UriSearchAsync(completUri, await GetAccessTokenAsync());

                ViewBag.Artists = artist.Artists;
                return(View("SearchResult"));
            }
            else
            {
                return(await Index());
            }
        }
示例#7
0
        /// <summary>
        /// Find a list of artists according to the given artist name
        /// </summary>
        /// <returns></returns>
        public async Task <ActionResult> SearchResult()
        {
            string artisteName = Request["ArtistName"];

            if (artisteName != "" && artisteName != null)
            {
                SpotifyArtist artist = await GetRequest <SpotifyArtist> .ArtistSearchNameAsync(artisteName, await GetAccessTokenAsync());

                ViewBag.Artists = artist.Artists;
                return(View());
            }
            else
            {
                return(await Index());
            }
        }
 public void RelatedArtistsListView_ItemClick(SpotifyArtist artist)
 {
     navigationService.NavigateTo(nameof(ArtistDetailPage), artist);
 }
示例#9
0
 public SpotifyArtistViewModel(SpotifyArtist artist)
 {
     _artist = artist;
 }