public OtherArtistForAlbum(Album album, string name, bool isSupport, ArtistRoles roles) { Album = album; Name = name; IsSupport = isSupport; Roles = roles; }
public ArtistForSong(Song song, string name, bool support, ArtistRoles roles) : this() { Song = song; IsSupport = support; Name = name; Roles = roles; }
public ArtistForAlbum(Album album, Artist artist, bool support, ArtistRoles roles) : this() { Album = album; Artist = artist; IsSupport = support; Roles = roles; }
public ArtistForSong(Song song, Artist artist, bool support, ArtistRoles roles) : this() { Song = song; Artist = artist; IsSupport = support; Roles = roles; }
public ArtistForAlbum(Album album, string name, bool support, ArtistRoles roles) : this() { Album = album; IsSupport = support; Name = name; Roles = roles; }
public static void HasArtist(Album album, string artistName, ArtistRoles? roles) { var link = album.AllArtists.FirstOrDefault(a => (a.Artist != null && a.Artist.DefaultName.Equals(artistName)) || (a.Artist == null && string.Equals(a.Name, artistName))); Assert.IsNotNull(link, string.Format("Artist '{0}' exists for {1}", artistName, album)); if (roles.HasValue) Assert.AreEqual(roles, link.Roles, string.Format("Roles for {0}", link)); }
public static void HasArtist(Album album, Artist artist, ArtistRoles? roles) { var link = album.GetArtistLink(artist); Assert.IsNotNull(link, string.Format("{0} exists for {1}", artist, album)); if (roles.HasValue) Assert.AreEqual(roles, link.Roles, string.Format("Roles for {0}", link)); }
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); }
public virtual ArtistForSong AddSong(Song song, bool support, ArtistRoles roles) { ParamIs.NotNull(() => song); var link = new ArtistForSong(song, this, support, roles); AllSongs.Add(link); song.AllArtists.Add(link); return(link); }
private bool CreateArtist(ISession session, Song song, string name, ArtistRoles roles) { var artist = FindArtist(session, name); var link = (artist != null ? new ArtistForSong(song, artist, false, roles) : new ArtistForSong(song, name, false, roles)); if (!song.HasArtistLink(link)) { song.AllArtists.Add(link); return(true); } return(false); }
public virtual ArtistForAlbum AddAlbum(Album album, bool support, ArtistRoles roles) { ParamIs.NotNull(() => album); // Check is too slow for now //if (HasAlbum(album)) // throw new InvalidOperationException(string.Format("{0} has already been added for {1}", album, this)); var link = new ArtistForAlbum(album, this, support, roles); AllAlbums.Add(link); album.AllArtists.Add(link); return(link); }
public void UpdateArtistForAlbumRoles(int artistForAlbumId, ArtistRoles roles) { VerifyManageDatabase(); HandleTransaction(session => { var artistForAlbum = session.Load <ArtistForAlbum>(artistForAlbumId); var album = artistForAlbum.Album; artistForAlbum.Roles = roles; album.UpdateArtistString(); AuditLog(string.Format("updated roles for {0} on {1}", artistForAlbum.ArtistToStringOrName, CreateEntryLink(album)), session); session.Update(album); }); }
public static ArtistCategories GetCategories(ArtistType type, ArtistRoles roles) { if (roles == ArtistRoles.Default || !IsCustomizable(type)) { return(CategoriesForTypes[type]); } else { var cat = ArtistCategories.Nothing; if (roles.HasFlag(ArtistRoles.Vocalist) || roles.HasFlag(ArtistRoles.Chorus)) { cat |= ArtistCategories.Vocalist; } if (roles.HasFlag(ArtistRoles.Arranger) || roles.HasFlag(ArtistRoles.Composer) || roles.HasFlag(ArtistRoles.VoiceManipulator)) { cat |= ArtistCategories.Producer; } if (roles.HasFlag(ArtistRoles.Distributor) || roles.HasFlag(ArtistRoles.Publisher)) { cat |= ArtistCategories.Circle; } if (roles.HasFlag(ArtistRoles.Animator)) { cat |= ArtistCategories.Animator; } if (roles.HasFlag(ArtistRoles.Illustrator)) { cat |= ArtistCategories.Illustrator; } //if (roles.HasFlag(ArtistRoles.Illustrator) || roles.HasFlag(ArtistRoles.Lyricist) || roles.HasFlag(ArtistRoles.Mastering)) // cat |= ArtistCategories.Other; if (cat == ArtistCategories.Nothing) { cat = ArtistCategories.Other; } return(cat); } }
public void UpdateArtistForAlbumRoles(int artistForAlbumId, ArtistRoles[] roles) { var rolesBitField = (roles != null ? roles.Aggregate(ArtistRoles.Default, (list, item) => list |= item) : ArtistRoles.Default); Service.UpdateArtistForAlbumRoles(artistForAlbumId, rolesBitField); }
public static ArtistCategories GetCategories(ArtistType type, ArtistRoles roles) { if (roles == ArtistRoles.Default || !IsCustomizable(type)) { return CategoriesForTypes[type]; } else { var cat = ArtistCategories.Nothing; if (roles.HasFlag(ArtistRoles.Vocalist) || roles.HasFlag(ArtistRoles.Chorus)) cat |= ArtistCategories.Vocalist; if (roles.HasFlag(ArtistRoles.Arranger) || roles.HasFlag(ArtistRoles.Composer) || roles.HasFlag(ArtistRoles.VoiceManipulator)) cat |= ArtistCategories.Producer; if (roles.HasFlag(ArtistRoles.Distributor) || roles.HasFlag(ArtistRoles.Publisher)) cat |= ArtistCategories.Circle; if (roles.HasFlag(ArtistRoles.Animator)) cat |= ArtistCategories.Animator; //if (roles.HasFlag(ArtistRoles.Illustrator) || roles.HasFlag(ArtistRoles.Lyricist) || roles.HasFlag(ArtistRoles.Mastering)) // cat |= ArtistCategories.Other; if (cat == ArtistCategories.Nothing) cat = ArtistCategories.Other; return cat; } }
public void Value(int expected, ArtistRoles actual) { ((int)actual).Should().Be(expected); }
public virtual ArtistForAlbum AddArtist(Artist artist, bool isSupport, ArtistRoles roles) { ParamIs.NotNull(() => artist); return(artist.AddAlbum(this, isSupport, roles)); }
public virtual ArtistForSong AddArtist(Artist artist, bool support, ArtistRoles roles) { ParamIs.NotNull(() => artist); return(artist.AddSong(this, support, roles)); }
private ArtistForSongContract CreateArtistForSongContract(int artistId = 0, string artistName = null, ArtistRoles roles = ArtistRoles.Default) { if (artistId != 0) { return new ArtistForSongContract { Artist = new ArtistContract { Name = artistName, Id = artistId }, Roles = roles } } ; else { return new ArtistForSongContract { Name = artistName, Roles = roles } }; }
public CustomArtist(string name, ArtistRoles roles) { Name = name; Roles = roles; }
/// <summary> /// Filters query by excluding entries with the specified artist role. /// </summary> public static IQueryable <T> WhereDoesNotHaveRole <T>(this IQueryable <T> query, ArtistRoles role) where T : IArtistLinkWithRoles { return(query.Where(q => (q.Roles & role) == ArtistRoles.Default)); }
private bool CreateArtist(ISession session, Song song, string name, ArtistRoles roles) { var artist = FindArtist(session, name); var link = (artist != null ? new ArtistForSong(song, artist, false, roles) : new ArtistForSong(song, name, false, roles)); if (!song.HasArtistLink(link)) { song.AllArtists.Add(link); return true; } return false; }
private ArtistForAlbumContract CreateArtistForAlbumContract(int artistId = 0, string customArtistName = null, ArtistRoles roles = ArtistRoles.Default) { if (artistId != 0) return new ArtistForAlbumContract { Artist = new ArtistContract { Id = artistId }, Roles = roles }; else return new ArtistForAlbumContract { Name = customArtistName, Roles = roles }; }