public void Init(MediaItem mediaItem)
        {
            SingleMediaItemAspect aspect;

            if (mediaItem == null || !MediaItemAspect.TryGetAspect(mediaItem.Aspects, EpisodeAspect.Metadata, out aspect))
            {
                SetEmpty();
                return;
            }

            SeriesName  = (string)aspect[EpisodeAspect.ATTR_SERIES_NAME];
            Season      = (int?)aspect[EpisodeAspect.ATTR_SEASON];
            SeasonName  = (string)aspect[EpisodeAspect.ATTR_SERIES_SEASON];
            Episode     = (IEnumerable <int>)aspect[EpisodeAspect.ATTR_EPISODE];
            DvdEpisode  = (IEnumerable <double>)aspect[EpisodeAspect.ATTR_DVDEPISODE];
            EpisodeName = (string)aspect[EpisodeAspect.ATTR_EPISODE_NAME];
            TotalRating = (double?)aspect[EpisodeAspect.ATTR_TOTAL_RATING];
            RatingCount = (int?)aspect[EpisodeAspect.ATTR_RATING_COUNT];
            // Sorting
            Episode    = Episode?.Distinct()?.OrderBy(e => e);
            DvdEpisode = DvdEpisode?.OrderBy(e => e);
        }