示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LazyLoadedTaggedFile" /> class.
 /// </summary>
 /// <param name="adapters">The adapters.</param>
 /// <param name="original">The original.</param>
 public LazyLoadedTaggedFile(IReferenceAdapters adapters, StorableTaggedFile original)
 {
     adapters.Guard("adapters");
     original.Guard("original");
     this.adapters = adapters;
     Duration      = original.Duration;
     AlbumId       = original.AlbumId;
     ArtistId      = original.ArtistId;
     Comment       = original.Comment;
     Filename      = original.Filename;
     GenreId       = original.GenreId;
     Id            = original.Id;
     TitleId       = original.TitleId;
     YearId        = original.YearId;
 }
示例#2
0
 /// <summary>
 /// Copies the specified from.
 /// </summary>
 /// <param name="source">From.</param>
 /// <param name="directIds">If this value is set to true, take the 'TagReferenceId' fields and copy them directly, if false, try to take the 'TagReference.Id' fields instead.</param>
 /// <returns></returns>
 public static StorableTaggedFile Copy(StorableTaggedFile source, bool directIds = true)
 {
     return(new StorableTaggedFile
     {
         Comment = source.Comment,
         Filename = source.Filename,
         TrackNo = source.TrackNo,
         Id = source.Id,
         Title = source.Title,
         Duration = source.Duration,
         TitleId = directIds || null == source.Title ? source.TitleId : source.Title.Id,
         Album = source.Album,
         AlbumId = directIds || null == source.Album ? source.AlbumId : source.Album.Id,
         Artist = source.Artist,
         ArtistId = directIds || null == source.Artist ? source.ArtistId : source.Artist.Id,
         Genre = source.Genre,
         GenreId = directIds || null == source.Genre ? source.GenreId : source.Genre.Id,
         Year = source.Year,
         YearId = directIds || null == source.Year ? source.YearId : source.Year.Id,
     });
 }