public async Task <ActionResult <object> > GetAlbum([FromQuery] SpotifyAlbum album)
        {
            SpotifyClientCredentialsAuthService.StartCredentialsAuth();

            var albumData = SpotifyClientCredentialsAuthService.GetAlbums(album.Id);

            return(Ok(albumData));
        }
Exemplo n.º 2
0
 public static Album CreateAlbum(SpotifyAlbum inAlbum)
 {
     return(new Album
     {
         Uri = inAlbum.Uri,
         Name = inAlbum.Name,
         Id = inAlbum.Id,
         Type = inAlbum.Type,
         Images = ConvertImageList(inAlbum.Images),
         AlbumType = inAlbum.AlbumType,
         Artists = CreateArtists(inAlbum.Artists),
         AvailableMarkets = inAlbum.AvailableMarkets,
         Href = inAlbum.Href
     });
 }
Exemplo n.º 3
0
        public async Task HasAGetSaleQueryResultAsync()
        {
            var spotifyAlbum = new SpotifyAlbum {
                Id = "teste", Name = "Fake Teste", ReleaseDate = DateTime.Now.ToShortDateString(), TotalTracks = 10
            };

            var spotifyServiceMock = new Mock <ISpotifyService>();

            spotifyServiceMock.Setup(x => x.GetAlbumAsync(It.IsAny <string>())).ReturnsAsync(spotifyAlbum);

            var queryResult = await new GetAlbumQueryHandler(spotifyServiceMock.Object).Handle(new GetAlbumQuery(spotifyAlbum.Id), new CancellationToken());

            Assert.NotNull(queryResult);
            Assert.Equal(spotifyAlbum.Id, queryResult.Id);
            Assert.True(queryResult.Price > 0);
        }
        public async Task SinglesListView_ItemClick(SpotifyAlbum single)
        {
            SpotifyAlbum fullSingle = await AppConstants.SpotifyClient.GetAlbum(single.Id);

            navigationService.NavigateTo(nameof(AlbumDetailPage), fullSingle);
        }
        public async Task AlbumsListView_ItemClick(SpotifyAlbum album)
        {
            SpotifyAlbum fullAlbum = await AppConstants.SpotifyClient.GetAlbum(album.Id);

            navigationService.NavigateTo(nameof(AlbumDetailPage), fullAlbum);
        }
Exemplo n.º 6
0
        public async Task TracksListView_ItemClick(SavedTrack track)
        {
            SpotifyAlbum fullAlbum = await AppConstants.SpotifyClient.GetAlbum(track.Track.Album.Id);

            navigationService.NavigateTo(nameof(AlbumDetailPage), fullAlbum);
        }
        public async Task <ActionResult> Post([FromBody] DiscographyPostData bodyObj)
        {
            try
            {
                // Obtener Albums
                List <Album> albumsList = ds.getAlbumsFromBase64File(bodyObj.File);

                // Ordenar los datos
                List <Album> orderedAlbums = albumsList.OrderBy(album => album.Year).ThenBy(album => album.Title).ToList();

                // Preparar los datos (Obtener décadas de discos)
                var groupedByDecade = orderedAlbums.GroupBy(album => Utils.Utils.GetDecade(album.Year)).OrderByDescending(x => Utils.Utils.GetDecade(x.Key));

                // Crear tablero de Trello
                CrearTableroResult tablero = ts.CrearTablero(bodyObj.DashboardTitle);
                if (tablero != null)
                {
                    // Crear listas de décadas en tablero de Trello
                    foreach (var decade in groupedByDecade)
                    {
                        CrearListaResult lista = ts.CrearLista(tablero.Id, String.Format("{0}s'", decade.Key.ToString()));
                        foreach (var album in decade)
                        {
                            // Crear tarjeta para el album
                            string tarjetaName = album.Year + " - " + album.Title;

                            CrearTarjetaResult tarjeta = ts.CrearTarjeta(lista.Id, tarjetaName);

                            // Obtener imagen del album de Spotify
                            SpotifyAlbumSearch albumsResult = ss.searchAlbumsByTitle(album.Title);

                            if (albumsResult != null)
                            {
                                SpotifyAlbum albumFound = albumsResult.albums.Items
                                                          .Where(x => x.Artists.FirstOrDefault().Name.ToLower().Equals("Bob Dylan".ToLower()))
                                                          .Where(x => Utils.Utils.homologarComilllas(x.Name).ToLower().Equals(Utils.Utils.homologarComilllas(album.Title).ToLower()))
                                                          .FirstOrDefault();
                                if (albumFound != null)
                                {
                                    SpotifyImage albumImage = albumFound.images.Where(x => x.Width == 300).FirstOrDefault();

                                    // Adjuntar imagen a la portada
                                    SpotifyImage attachedImage = ts.AdjuntarPortada(tarjeta.Id, albumImage.Url, "img_" + tarjetaName.Replace(" ", ""));
                                }
                                else
                                {
                                    // Registrar de que albums no se encontraron portadas
                                    var t = album.Title;
                                }
                            }
                        }
                    }
                }

                return(Ok());
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
        }
Exemplo n.º 8
0
 public void AlbumsListView_ItemClick(SpotifyAlbum album)
 {
     navigationService.NavigateTo(nameof(AlbumDetailPage), album);
 }
Exemplo n.º 9
0
        public async Task OnNavigatedTo(SpotifyAlbum album)
        {
            Tracks        = new ObservableCollection <SavedTrack>();
            this.album    = album;
            AlbumImageUrl = new Uri(album.GetLargestImage().Url);
            AlbumName     = album.Name;
            AlbumArtist   = string.Join(", ", album.Artists.Select(artist => artist.Name));
            DateTimeOffset releaseDate = HelperMethods.ParseReleaseDate(album.ReleaseDate);

            if (album.ReleaseDatePrecision == "year")
            {
                ReleaseDate = releaseDate.Year.ToString();
            }
            else if (album.ReleaseDatePrecision == "month")
            {
                ReleaseDate = releaseDate.ToString("y");
            }
            else if (album.ReleaseDatePrecision == "day")
            {
                ReleaseDate = releaseDate.ToString("d");
            }
            if (album.Tracks.Total == 1)
            {
                NumSongs = $"{album.Tracks.Total} song";
            }
            else
            {
                NumSongs = $"{album.Tracks.Total} songs";
            }
            SavedSaveText = "Saved";
            TimeSpan albumLength = TimeSpan.Zero;
            SpotifyPagingObject <SpotifyTrack> tracksPaging = album.Tracks;
            List <bool> savedTracks = await AppConstants.SpotifyClient.GetSavedTracks(tracksPaging.Items.Select(track => track.Id).ToList());

            for (int i = 0; i < tracksPaging.Items.Count; i++)
            {
                SavedTrack savedTrack = new SavedTrack()
                {
                    Track = tracksPaging.Items[i],
                    Saved = savedTracks[i]
                };
                Tracks.Add(savedTrack);
                albumLength += TimeSpan.FromMilliseconds(savedTrack.Track.Duration);
            }
            while (tracksPaging.Next != null)
            {
                tracksPaging = await AppConstants.SpotifyClient.GetNextPage(tracksPaging);

                savedTracks = await AppConstants.SpotifyClient.GetSavedTracks(tracksPaging.Items.Select(track => track.Id).ToList());

                for (int i = 0; i < tracksPaging.Items.Count; i++)
                {
                    SavedTrack savedTrack = new SavedTrack()
                    {
                        Track = tracksPaging.Items[i],
                        Saved = savedTracks[i]
                    };
                    Tracks.Add(savedTrack);
                    albumLength += TimeSpan.FromMilliseconds(savedTrack.Track.Duration);
                }
            }
            AlbumLength = albumLength.MinimalToString();
        }
Exemplo n.º 10
0
 public async Task <IEnumerable <SpotifyTrack> > GetAlbumTracks(SpotifyAlbum album)
 {
     return(await GetAlbumTracks(album.Id));
 }
Exemplo n.º 11
0
 public SpotifyAlbumViewModel(SpotifyAlbum album)
 {
     _album = album;
 }