Beispiel #1
0
        // Private Methods //
        private static string GetPlaylistLine(SpotifyPlaylistTrack oLine, List <PlaylistColumn> columns)
        {
            StringBuilder lineBuilder = new StringBuilder();

            foreach (PlaylistColumn oCol in columns)
            {
                lineBuilder.Append(GetField(oCol, oLine) ?? string.Empty);
                if (columns.Last <PlaylistColumn>() != oCol)
                {
                    lineBuilder.Append(',');
                }
            }
            return(lineBuilder.ToString());
        }
Beispiel #2
0
        private static string GetField(PlaylistColumn oCol, SpotifyPlaylistTrack oLine)
        {
            StringBuilder fieldBuilder = new StringBuilder();

            fieldBuilder.Append('\"');
            switch (oCol)
            {
            case PlaylistColumn.TrackName:
                fieldBuilder.Append(oLine.track.name);
                break;

            case PlaylistColumn.TrackArtists:
                foreach (SpotifyArtistSimple artist in oLine.track.artists)
                {
                    fieldBuilder.Append(artist.name);
                    if (oLine.track.artists.Last <SpotifyArtistSimple>() != artist)
                    {
                        fieldBuilder.Append(", ");
                    }
                }
                break;

            case PlaylistColumn.AlbumName:
                fieldBuilder.Append(oLine.track.album.name);
                break;

            case PlaylistColumn.Duration:
                fieldBuilder.Append(TimeSpan.FromMilliseconds(oLine.track.duration_ms).ToString(@"mm\:ss"));
                break;

            case PlaylistColumn.AddedAt:
                fieldBuilder.Append(oLine.added_at);
                break;

            case PlaylistColumn.AddedBy:
                fieldBuilder.Append(oLine.added_by.display_name ?? oLine.added_by.id);
                break;

            case PlaylistColumn.IsLocal:
                fieldBuilder.Append(oLine.is_local);
                break;

            case PlaylistColumn.TrackID:
                fieldBuilder.Append(oLine.track.id);
                break;
            }
            fieldBuilder.Append('\"');
            return(fieldBuilder.ToString());
        }