public void AddEpisode(XEpisode episode) { this.RealElement.Add(episode); if (this.RealElement != this) { this.Add(episode); } }
public XEpisode CheckEpisode(XEpisode episode) { var album = this.CurrentXTarget.GetAlbum(episode.AlbumID); var findEpisode = album.GetEpisode(episode.ID); if (findEpisode != null) { if (findEpisode.Title != episode.Title) { findEpisode.Title = episode.Title; } if (findEpisode.URL != episode.URL) { findEpisode.URL = episode.URL; } if (findEpisode.Date != episode.Date) { findEpisode.Date = episode.Date; } bool needRefresh = false; if (findEpisode.HasLrc != episode.HasLrc) { findEpisode.HasLrc = episode.HasLrc; needRefresh = true; } if (findEpisode.HasTranslation != episode.HasTranslation) { findEpisode.HasTranslation = episode.HasTranslation; needRefresh = true; } if (needRefresh == true) { findEpisode.IsWebPageDownloaded = false; findEpisode.IsContentDownloaded = false; } } else { findEpisode = episode; album.AddEpisode(findEpisode); } this.SaveXTarget(); return(findEpisode); }
public void DownloadEpisode(XEpisode episode) { var episodesFolder = this.GetAlbumFolderPath(episode.AlbumID); if (Directory.Exists(episodesFolder) == false) { Directory.CreateDirectory(episodesFolder); } var episodeFilePath = Path.Combine(episodesFolder, episode.ID + ".html"); //if (File.Exists(episodeFilePath) == true) // File.Delete(episodeFilePath); BaseTarget.SaveAndReturn(episode.URL, episodeFilePath, this.Encoding); episode.IsWebPageDownloaded = true; CheckEpisode(episode); }