예제 #1
0
        public virtual void DeleteArtistForSong(ArtistForSong artistForSong)
        {
            if (!artistForSong.Song.Equals(this))
            {
                throw new ArgumentException("Artist is not attached to song", "artistForSong");
            }

            artistForSong.Delete();
        }
예제 #2
0
        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);
        }
예제 #3
0
        /// <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)));
        }