void torrentDetailsWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            DetailsContainer details = e.Argument as DetailsContainer;

            if (details == null)
            {
                return;
            }

            if (details.SearchCritera != null)
            {
                if (details.SearchCritera.SearchType == DownloadSearchType.Episode)
                {
                    VM_AnimeEpisode_User ep  = details.SearchCritera.Episode as VM_AnimeEpisode_User;
                    VM_AnimeSeries_User  ser = VM_MainListHelper.Instance.GetSeries(ep.AnimeSeriesID);
                    if (ser != null)
                    {
                        e.Result = ser;
                        return;
                    }
                }

                if (details.SearchCritera.SearchType == DownloadSearchType.Series)
                {
                    VM_AniDB_Anime      anime = details.SearchCritera.Anime as VM_AniDB_Anime;
                    VM_AnimeSeries_User ser   = VM_MainListHelper.Instance.GetSeriesForAnime(anime.AnimeID);
                    if (ser != null)
                    {
                        e.Result = ser;
                        return;
                    }
                }
            }

            // try and find the series
            foreach (VM_AniDB_Anime anime in VM_AniDB_Anime.BestLevenshteinDistanceMatchesCache(details.TorLink.ClosestAnimeMatchString, 10))
            {
                // get the series for the anime
                VM_AnimeSeries_User ser = VM_MainListHelper.Instance.GetSeriesForAnime(anime.AnimeID);
                if (ser != null)
                {
                    e.Result = ser;
                    return;
                }
            }

            e.Result = null;
        }
        void torrentDetailsWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            TorrentLink torLink = e.Argument as TorrentLink;

            // try and find the series
            foreach (VM_AniDB_Anime anime in VM_AniDB_Anime.BestLevenshteinDistanceMatchesCache(torLink.ClosestAnimeMatchString, 10))
            {
                // get the series for the anime
                VM_AnimeSeries_User ser = VM_MainListHelper.Instance.GetSeriesForAnime(anime.AnimeID);
                if (ser != null)
                {
                    e.Result = ser;
                    return;
                }
            }

            e.Result = null;
        }
Exemplo n.º 3
0
        void torrentDetailsWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            Torrent            tor   = e.Argument as Torrent;
            List <TorrentFile> files = VM_UTorrentHelper.Instance.GetFilesForTorrent(tor.Hash);

            TorrentDetails det = new TorrentDetails();

            det.TorrentFiles = files;

            // try and find the series
            foreach (VM_AniDB_Anime anime in VM_AniDB_Anime.BestLevenshteinDistanceMatchesCache(tor.ClosestAnimeMatchString, 10))
            {
                // get the series for the anime
                VM_AnimeSeries_User ser = VM_MainListHelper.Instance.GetSeriesForAnime(anime.AnimeID);
                if (ser != null)
                {
                    det.AnimeSeries = ser;
                    break;
                }
            }

            e.Result = det;
        }