private static async Task <List <DiscMusic> > LoadAlbunsBySpotify(MusicGender musicGender, string gender)
        {
            var listDisc = new List <DiscMusic>();
            var _spotify = await ConnectSpotifyApi();

            var list = await _spotify.GetCategoryPlaylistsAsync(gender, "BR");

            //var listCategories = await _spotify.GetCategoriesAsync("BR", "", 50);

            foreach (var item in list.Playlists.Items)
            {
                FullPlaylist playlist   = _spotify.GetPlaylist("", item.Id);
                var          listTracks = playlist.Tracks.Items;

                foreach (var track in listTracks)
                {
                    Random random = new Random();
                    var    price  = random.NextDouble() * (150.89 - 10.49) + 10.49;

                    listDisc.Add(new DiscMusic(new Guid(),
                                               track.Track.Album.Name,
                                               musicGender.Id,
                                               track.Track.Album.Id,
                                               track.Track.Artists.FirstOrDefault().Name,
                                               track.Track.Album.AlbumGroup,
                                               Convert.ToDecimal(price)));
                    if (listDisc.Count > 49)
                    {
                        return(listDisc);
                    }
                }
            }

            return(listDisc);
        }
Esempio n. 2
0
 public Track(string idTrack, string title, double duration, int reproductions, string fileTrack, bool avaible, MusicGender musicGender, Album album)
 {
     this.idTrack       = idTrack;
     this.title         = title;
     this.reproductions = reproductions; TimeSpan result = TimeSpan.FromSeconds(duration);
     this.duration      = result.ToString("mm':'ss");;
     this.fileTrack     = fileTrack;
     this.avaible       = avaible;
     this.album         = album;
 }
Esempio n. 3
0
    public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            bool   isset_idTrack = false;
            TField field;
            await iprot.ReadStructBeginAsync(cancellationToken);

            while (true)
            {
                field = await iprot.ReadFieldBeginAsync(cancellationToken);

                if (field.Type == TType.Stop)
                {
                    break;
                }

                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.I16)
                    {
                        IdTrack = await iprot.ReadI16Async(cancellationToken);

                        isset_idTrack = true;
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 2:
                    if (field.Type == TType.I16)
                    {
                        TrackNumber = await iprot.ReadI16Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 3:
                    if (field.Type == TType.Double)
                    {
                        DurationSeconds = await iprot.ReadDoubleAsync(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 4:
                    if (field.Type == TType.String)
                    {
                        StoragePath = await iprot.ReadStringAsync(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 5:
                    if (field.Type == TType.String)
                    {
                        Title = await iprot.ReadStringAsync(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 6:
                    if (field.Type == TType.I32)
                    {
                        Gender = (MusicGender)await iprot.ReadI32Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                default:
                    await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);

                    break;
                }

                await iprot.ReadFieldEndAsync(cancellationToken);
            }

            await iprot.ReadStructEndAsync(cancellationToken);

            if (!isset_idTrack)
            {
                throw new TProtocolException(TProtocolException.INVALID_DATA);
            }
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }