public void AddPodcastEpisodes(int podcastId) { var dto = _podcastRepository.GetPodcast(podcastId); var feed = _rssParser.ParseRssFeed(dto.FeedUrl); if (feed == null) { return; } var episodes = from item in feed.SyndicationFeed.Items let episodeUrl = GetEpisodeUrl(item) let audioUrl = GetAudioUrl(item) select new EpisodeDto { Title = item.Title?.Text, Summary = item.Summary?.Text, EpisodeUrl = episodeUrl, AudioUrl = audioUrl, DatePublished = item.PublishDate.DateTime, DateCreated = DateTime.Now }; dto.Episodes = episodes; _podcastRepository.AddEpisodesToPodcast(dto); }
public ReviewPodcastViewModel GetPodcastForReview(int podcastId) { var podcast = _podcastRepository.GetPodcast(podcastId); var tags = _tagsRepository.GetAll(); var viewModel = new ReviewPodcastViewModel { Id = podcast.Id, Title = podcast.Title, SiteUrl = podcast.SiteUrl }; foreach (var tag in tags) { viewModel.Tags.Add(new CheckBoxListItem { Id = tag.TagId, Display = tag.Name }); } return(viewModel); }