protected override async Task SaveInternal()
 {
     Title.Save();
     SeasonNumber.Save();
     EpisodeNumber.Save();
     EpisodeMetadata metadata = CreateMetadata();
     await _metadataService.Save(Path, metadata);
 }
        private void RefreshFromMetadata(EpisodeMetadata metadata)
        {
            Title.Value = metadata.Title;
            Title.Save();
            Rating             = metadata.Rating;
            SeasonNumber.Value = metadata.SeasonNumber;
            SeasonNumber.Save();
            EpisodeNumber.Value = metadata.EpisodeNumber;
            EpisodeNumber.Save();
            Plot = metadata.Plot;
            ImagePath.RefreshImage(metadata.ImagePath);
            ImageUrl         = metadata.ImageUrl;
            PlayCount        = metadata.PlayCount;
            LastPlayed       = metadata.LastPlayed;
            AiredDate        = metadata.AiredDate;
            DisplaySeason    = metadata.DisplaySeason;
            DisplayEpisode   = metadata.DisplayEpisode;
            EpisodeBookmarks = metadata.EpisodeBookmarks;

            Credits.ReplaceWith(metadata.Credits);
            Directors.ReplaceWith(metadata.Director);

            _localMetadataExists = metadata.FileInformation != null;
        }