Example #1
0
        private Guid GetArtist(Tag tag, ref Repository repo)
        {
            Guid id;
            lock (artistLock)
            {
                var artist = repo.Artists.FirstOrDefault(x => x.Name == tag.FirstArtist);
                if (artist == null)
                {
                    artist = new Artist {Id = Guid.NewGuid()};
                    artist.MBID = string.IsNullOrEmpty(tag.MusicBrainzArtistId) ? (Guid?) null : new Guid(tag.MusicBrainzArtistId);
                    artist.Name = tag.FirstArtist;
                    repo.Artists.InsertOnSubmit(artist);
                    repo.SubmitChanges();
                }
                id = artist.Id;
            }

            return id;
        }
Example #2
0
        private static void InsertAlbumArt(Guid albumId, IPicture pic, ref Repository repo)
        {
            if (repo.Images.Count(x => x.LinkedId == albumId) > 0)
                return;

            var bitmap = ImageUtilities.ImageFromBuffer(pic.Data.ToArray());

            var img = new Image
                      	{
                      		Height = (int) bitmap.Height,
                      		Id = Guid.NewGuid(),
                      		ImageData = pic.Data.ToArray(),
                      		LinkedId = albumId,
                      		Size = (int) ImageSize.ExtraLarge,
                      		Url = "",
                      		Width = (int) bitmap.Width
                      	};
            repo.Images.InsertOnSubmit(img);
            repo.SubmitChanges();
        }
Example #3
0
        private Guid GetAlbum(Guid artistId, Tag tag, ref Repository repo)
        {
            Guid id;
            lock (albumLock)
            {
                var album = repo.Albums.FirstOrDefault(x => x.ArtistId == artistId && x.Name == tag.Album);
                if (album == null)
                {
                    album = new Album {Id = Guid.NewGuid()};
                    album.MBID = string.IsNullOrEmpty(tag.MusicBrainzReleaseId) ? (Guid?) null : new Guid(tag.MusicBrainzReleaseId);
                    album.Name = tag.Album;
                    album.ArtistId = artistId;
                    repo.Albums.InsertOnSubmit(album);
                    repo.SubmitChanges();
                }
                id = album.Id;
            }

            return id;
        }