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));
        }