public virtual void DeleteArtistForSong(ArtistForSong artistForSong) { if (!artistForSong.Song.Equals(this)) { throw new ArgumentException("Artist is not attached to song", "artistForSong"); } artistForSong.Delete(); }
public virtual ArtistForSong AddArtist(string name, bool isSupport, ArtistRoles roles) { ParamIs.NotNullOrEmpty(() => name); var link = new ArtistForSong(this, name, isSupport, roles); AllArtists.Add(link); return(link); }
/// <summary> /// Checks whether this song has a specific artist. /// </summary> /// <param name="artistLink">Artist to be checked. Cannot be null.</param> /// <returns>True if the artist has this album. Otherwise false.</returns> public virtual bool HasArtistLink(ArtistForSong artistLink) { ParamIs.NotNull(() => artistLink); return(Artists.Any(a => a.ArtistLinkEquals(artistLink))); }