Beispiel #1
0
        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);
        }
Beispiel #3
0
        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");
        }
Beispiel #4
0
        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());
        }
Beispiel #5
0
        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);
        }
Beispiel #7
0
        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();
        }
Beispiel #8
0
        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();
        }