public void CanBeReadByTitle() { var checks1 = repository.GetByName <IAlbum>("OK%"); Assert.AreEqual(1, checks1.Count()); var check1 = checks1.FirstOrDefault(); Assert.IsNotNull(check1); Assert.AreEqual(album1.Name, check1.Name); Assert.AreEqual(album1.FromDate, check1.FromDate); Assert.AreEqual(album1.Creator, check1.Creator); Assert.AreEqual(album1.CreatorName, album1.CreatorName); Assert.AreEqual(album1.Thumbnail, check1.Thumbnail); var checks2 = repository.GetByName <IAlbum>(album2.Name); Assert.AreEqual(1, checks2.Count()); var check2 = checks2.FirstOrDefault(); Assert.IsNotNull(check2); Assert.AreEqual(album2.Name, check2.Name); Assert.AreEqual(album2.FromDate, check2.FromDate); Assert.AreEqual(album2.Creator, check2.Creator); Assert.AreEqual(album2.CreatorName, check2.CreatorName); Assert.AreEqual(album2.Thumbnail, check2.Thumbnail); }
public void CanBeReadByTitle() { var checks1 = repository.GetByName <ITrack>("Paranoid%"); Assert.AreEqual(1, checks1.Count()); var check1 = checks1.FirstOrDefault(); Assert.AreEqual(track1.Name, check1.Name); Assert.AreEqual(track1.Number, check1.Number); Assert.AreEqual(track1.Duration, check1.Duration); Assert.AreEqual(track1.Creator, check1.Creator); Assert.AreEqual(track1.CreatorName, track1.CreatorName); Assert.AreEqual(track1.Catalog, check1.Catalog); Assert.AreEqual(track1.CatalogName, check1.CatalogName); Assert.AreEqual(track1.Target, check1.Target); Assert.AreEqual(track1.TargetType.ToString(), check1.TargetType.ToString()); Assert.AreEqual(track1.Thumbnail, check1.Thumbnail); var checks2 = repository.GetByName <ITrack>(track2.Name); Assert.AreEqual(1, checks2.Count()); var check2 = checks2.FirstOrDefault(); Assert.IsNotNull(check2); Assert.AreEqual(track2.Name, check2.Name); Assert.AreEqual(track2.Number, check2.Number); Assert.AreEqual(track2.Duration, check2.Duration); Assert.AreEqual(track2.Creator, check2.Creator); Assert.AreEqual(track2.CreatorName, check2.CreatorName); Assert.AreEqual(track2.Catalog, check2.Catalog); Assert.AreEqual(track2.CatalogName, check2.CatalogName); Assert.AreEqual(track2.Target, check2.Target); Assert.AreEqual(track2.TargetType.ToString(), check2.TargetType.ToString()); Assert.AreEqual(track2.Thumbnail, check2.Thumbnail); }
protected override void DoWork() { if (IncludeArtists) { AddArtistResults(mediaItemRepository.GetByName <IArtist>(pattern)); AddArtistResults(mediaItemRepository.GetByTag <IArtist>(TagDomain.String, pattern)); if (!string.IsNullOrEmpty(americanized)) { AddArtistResults(mediaItemRepository.GetByTag <IArtist>(TagDomain.String, americanized, Algorithm.Americanized)); } } if (IncludeAlbums) { AddAlbumResults(mediaItemRepository.GetByName <IAlbum>(pattern)); AddAlbumResults(mediaItemRepository.GetByTag <IAlbum>(TagDomain.String, pattern)); if (!string.IsNullOrEmpty(americanized)) { AddAlbumResults(mediaItemRepository.GetByTag <IAlbum>(TagDomain.String, americanized, Algorithm.Americanized)); } } if (IncludeTracks) { AddTrackResults(mediaItemRepository.GetByName <ITrack>(pattern)); AddTrackResults(mediaItemRepository.GetByTag <ITrack>(TagDomain.String, pattern)); if (!string.IsNullOrEmpty(americanized)) { AddTrackResults(mediaItemRepository.GetByTag <ITrack>(TagDomain.String, americanized, Algorithm.Americanized)); } } if (IncludeClips) { AddClipResults(mediaItemRepository.GetByName <IClip>(pattern)); AddClipResults(mediaItemRepository.GetByTag <IClip>(TagDomain.String, pattern)); if (!string.IsNullOrEmpty(americanized)) { AddClipResults(mediaItemRepository.GetByTag <IClip>(TagDomain.String, americanized, Algorithm.Americanized)); } } UpdateProgress(maxProgress, maxProgress, "Completed"); }
public virtual IAlbum GetAlbum(ISecurityContext securityContext, IMediaFactory mediaFactory, IMetadataRepository mediaItemRepository, IArtist artist) { IAlbum album = null; var clip = mediaItemRepository.GetByTarget <IClip>(Location).FirstOrDefault(); if (clip != null) { album = mediaItemRepository.GetByLocation <IAlbum>(clip.Catalog); if (album != null) { return(album); } } var albumName = GetAlbumName(); var summary = string.Empty; album = mediaItemRepository.GetByName <IAlbum>(albumName).FirstOrDefault(); if (album != null) { return(album); } var albumNumber = GetAlbumNumber(); var date = GetDate(); var builder = new MediaItemBuilder <IAlbum>(securityContext, mediaFactory) .Identity(albumName, summary, date, date, albumNumber) .Creator(artist.Location, artist.Name); return(builder.ToMediaItem()); }
public override IArtist GetArtist(ISecurityContext securityContext, IMediaFactory mediaFactory, IMetadataRepository mediaItemRepository) { IArtist artist = null; var track = mediaItemRepository.GetByTarget <ITrack>(Location).FirstOrDefault(); if (track != null) { artist = mediaItemRepository.GetByLocation <IArtist>(track.Creator); if (artist != null) { return(artist); } } if (id3v2Tag == null || id3v2Tag.JoinedPerformers == null) { return(new MediaItemBuilder <IArtist>(securityContext, mediaFactory).GetDefault()); } var artistName = id3v2Tag.JoinedPerformers; var summary = string.Empty; artist = mediaItemRepository.GetByName <IArtist>(artistName).FirstOrDefault(); if (artist != null) { return(artist); } var builder = new MediaItemBuilder <IArtist>(securityContext, mediaFactory) .Identity(artistName, summary); return(builder.ToMediaItem()); }
public void CanBeReadByName() { var checks1 = repository.GetByName <IArtist>("Radio%"); Assert.AreEqual(1, checks1.Count()); var check1 = checks1.FirstOrDefault(); Assert.IsNotNull(check1); Assert.AreEqual(artist1.Name, check1.Name); Assert.AreEqual(artist1.FromDate, check1.FromDate); Assert.AreEqual(artist1.ToDate, check1.ToDate); Assert.AreEqual(artist1.Thumbnail, check1.Thumbnail); var checks2 = repository.GetByName <IArtist>(artist2.Name); Assert.AreEqual(1, checks2.Count()); var check2 = checks2.FirstOrDefault(); Assert.IsNotNull(check2); Assert.AreEqual(artist2.Name, check2.Name); Assert.AreEqual(artist2.FromDate, check2.FromDate); Assert.AreEqual(artist2.ToDate, check2.ToDate); Assert.AreEqual(artist2.Thumbnail, check2.Thumbnail); }
public virtual IAlbum GetAlbum(ISecurityContext securityContext, IMediaFactory mediaFactory, IMetadataRepository mediaItemRepository, IArtist artist) { IAlbum album = null; var clip = mediaItemRepository.GetByTarget<IClip>(Location).FirstOrDefault(); if (clip != null) { album = mediaItemRepository.GetByLocation<IAlbum>(clip.Catalog); if (album != null) return album; } var albumName = GetAlbumName(); var summary = string.Empty; album = mediaItemRepository.GetByName<IAlbum>(albumName).FirstOrDefault(); if (album != null) { return album; } var albumNumber = GetAlbumNumber(); var date = GetDate(); var builder = new MediaItemBuilder<IAlbum>(securityContext, mediaFactory) .Identity(albumName, summary, date, date, albumNumber) .Creator(artist.Location, artist.Name); return builder.ToMediaItem(); }
public override IArtist GetArtist(ISecurityContext securityContext, IMediaFactory mediaFactory, IMetadataRepository mediaItemRepository) { IArtist artist = null; var track = mediaItemRepository.GetByTarget<ITrack>(Location).FirstOrDefault(); if (track != null) { artist = mediaItemRepository.GetByLocation<IArtist>(track.Creator); if (artist != null) return artist; } if (id3v2Tag == null || id3v2Tag.JoinedPerformers == null) return new MediaItemBuilder<IArtist>(securityContext, mediaFactory).GetDefault(); var artistName = id3v2Tag.JoinedPerformers; var summary = string.Empty; artist = mediaItemRepository.GetByName<IArtist>(artistName).FirstOrDefault(); if (artist != null) return artist; var builder = new MediaItemBuilder<IArtist>(securityContext, mediaFactory) .Identity(artistName, summary); return builder.ToMediaItem(); }