public SeriesTag UpdateTags(SeriesTag seriesTag) { if (TVDB == null) { TVDB = new TvdbHandler(API_KEY); } string imdb = seriesTag.IMDB_ID; string name = seriesTag.SeriesName; if (string.IsNullOrEmpty(imdb) && string.IsNullOrEmpty(name)) { MessageBox.Show("TvDb lookup needs atleast IMDB id or series name."); return(seriesTag); } int iSeason; int iEpisode; if (!int.TryParse(seriesTag.SeasonIndex, out iSeason) || !int.TryParse(seriesTag.EpisodeIndexList.FirstOrDefault(), out iEpisode)) { MessageBox.Show("TvDb lookup needs season & episode index."); return(seriesTag); } TvdbSearchResult searchResult; if (!string.IsNullOrEmpty(imdb)) { searchResult = SearchSeries(imdb, true); } else { searchResult = SearchSeries(name); } if (searchResult == null) { return(seriesTag); } TvdbSeries series = TVDB.GetFullSeries(searchResult.Id, App.Config.SelectedTvDbLanguage, false); if (series == null) { return(seriesTag); } return(CopySeriesInfos(seriesTag, series, iSeason, iEpisode)); }