public List <Track> GenerateTracklistForLocalAlbum(ICollectionManager collectionManager, LocalAlbum album, Release release) { List <Track> list = new List <Track>(); foreach (LocalDisc disc in album.Discs) { bool hasTrackArtists = disc.Tracks.Any(t => t.Artist != disc.Tracks[0].Artist); foreach (TrackInfoCache localTrack in disc.Tracks) { Track track = new Track() { Disc = localTrack.Disc, Position = localTrack.Track, Title = localTrack.Title, RelativeFilename = localTrack.RelativeFilename }; if (hasTrackArtists) { track.Artists.Add(new TrackArtist() { Artist = collectionManager.GetOrCreateArtist(localTrack.Artist), }); track.JoinedArtists = localTrack.Artist; } list.Add(track); } } return(list); }
public void CommitChanges(ICollectionManager collectionManager) { if (this.Release.Artists.Join() != this.Release.JoinedAlbumArtists) { this.Release.Artists.Clear(); this.Release.Artists.Add(new ReleaseArtist() { Artist = collectionManager.GetOrCreateArtist(this.Release.JoinedAlbumArtists) }); } this.Release.ReleaseDate = ReleaseDate.Parse(this.textReleaseDate.Text); this.Release.OriginalReleaseDate = ReleaseDate.Parse(this.textOriginalReleaseDate.Text); int discogsRelease, discogsMaster; int.TryParse(this.textDiscogsRelease.Text, out discogsRelease); int.TryParse(this.textDiscogsMaster.Text, out discogsMaster); this.Release.DiscogsReleaseId = discogsRelease; this.Release.DiscogsMasterId = discogsMaster; this.Release.WikipediaPageName = this.textWikipediaPageName.Text; }
public void CommitChanges(ICollectionManager collectionManager) { if (this.Release.Artists.Join() != this.Release.JoinedAlbumArtists) { this.Release.Artists.Clear(); this.Release.Artists.Add(new ReleaseArtist() { Artist = collectionManager.GetOrCreateArtist(this.Release.JoinedAlbumArtists) }); } this.Release.ReleaseDate = ReleaseDate.Parse(this.textReleaseDate.Text); this.Release.OriginalReleaseDate = ReleaseDate.Parse(this.textOriginalReleaseDate.Text); int discogsRelease, discogsMaster; int.TryParse(this.textDiscogsRelease.Text, out discogsRelease); int.TryParse(this.textDiscogsMaster.Text, out discogsMaster); this.Release.DiscogsReleaseId = discogsRelease; this.Release.DiscogsMasterId = discogsMaster; this.Release.WikipediaPageName = this.textWikipediaPageName.Text; }
public void CommitChanges(ICollectionManager collectionManager) { bool hasTrackArtists = this.Release.Tracklist.Any(t => !string.IsNullOrEmpty(t.JoinedArtists)); foreach (ImportTrackItem track in this.Tracks) { if (hasTrackArtists) { if (track.Track.Artists.Join() != track.Track.JoinedArtists) { if (string.IsNullOrEmpty(track.Track.JoinedArtists)) { track.Track.Artists.Clear(); track.Track.Artists.AddRange(this.Release.Artists.Select(releaseArtist => new TrackArtist() { Artist = releaseArtist.Artist, JoinString = releaseArtist.JoinString })); track.Track.JoinedArtists = Release.JoinedAlbumArtists; } else { track.Track.Artists.Clear(); track.Track.Artists.Add(new TrackArtist() { Artist = collectionManager.GetOrCreateArtist(track.Track.JoinedArtists) }); } } } else { track.Track.Artists.Clear(); } } }
public void CommitChanges(ICollectionManager collectionManager) { bool hasTrackArtists = this.Release.Tracklist.Any(t => !string.IsNullOrEmpty(t.JoinedArtists)); foreach (ImportTrackItem track in this.Tracks) { if (hasTrackArtists) { if (track.Track.Artists.Join() != track.Track.JoinedArtists) { if (string.IsNullOrEmpty(track.Track.JoinedArtists)) { track.Track.Artists.Clear(); track.Track.Artists.AddRange(this.Release.Artists.Select(releaseArtist => new TrackArtist() { Artist = releaseArtist.Artist, JoinString = releaseArtist.JoinString })); track.Track.JoinedArtists = Release.JoinedAlbumArtists; } else { track.Track.Artists.Clear(); track.Track.Artists.Add(new TrackArtist() { Artist = collectionManager.GetOrCreateArtist(track.Track.JoinedArtists) }); } } } else { track.Track.Artists.Clear(); } } }
public List<Track> GenerateTracklistForLocalAlbum(ICollectionManager collectionManager, LocalAlbum album, Release release) { List<Track> list = new List<Track>(); foreach (LocalDisc disc in album.Discs) { bool hasTrackArtists = disc.Tracks.Any(t => t.Artist != disc.Tracks[0].Artist); foreach (TrackInfoCache localTrack in disc.Tracks) { Track track = new Track() { Disc = localTrack.Disc, Position = localTrack.Track, Title = localTrack.Title, RelativeFilename = localTrack.RelativeFilename }; if (hasTrackArtists) { track.Artists.Add(new TrackArtist() { Artist = collectionManager.GetOrCreateArtist(localTrack.Artist), }); track.JoinedArtists = localTrack.Artist; } list.Add(track); } } return list; }