Пример #1
0
        public void AddTrack(MediaBundle <Track> track)
        {
            Discs       = Math.Max(Discs, track.Media.DiscNumber);
            Duration    = Duration.Add(track.Media.Duration);
            ReleaseDate = Math.Max(ReleaseDate, track.Media.ReleaseDate);

            Tracks = Tracks.AddValueToCollection(track);
            Genres = Genres.AddValuesToCollection(track.Media.Genres);
        }
Пример #2
0
        public static MediaBundle <T> FromDynamic(dynamic result, Guid userId)
        {
            var mediaBundle = new MediaBundle <T>();

            var type = typeof(T);

            if (type == typeof(Artist))
            {
                mediaBundle.Media = Artist.FromDynamic(result);
            }
            else if (type == typeof(Album))
            {
                mediaBundle.Media = Album.FromDynamic(result);
            }
            else if (type == typeof(Track))
            {
                mediaBundle.Media = Track.FromDynamic(result);
            }
            else
            {
                return(null);
            }

            var disposition = Disposition.FromDynamic(result);

            disposition.MediaId = mediaBundle.Media.Id;
            disposition.UserId  = userId;

            var playback = Models.Playback.FromDynamic(result);

            mediaBundle.Dispositions = new List <Disposition> {
                disposition
            };

            mediaBundle.Playback = playback != null ? new List <Playback> {
                playback
            } : new List <Playback>();

            return(mediaBundle);
        }