Beispiel #1
0
        public void ClearLists()
        {
            if (ListArtists != null)
            {
                ListArtists.Clear();
            }

            if (ListTracks != null)
            {
                ListTracks.Clear();
            }

            if (ListDurations != null)
            {
                ListDurations.Clear();
            }

            if (ListDownloads != null)
            {
                ListDownloads.Clear();
            }

            if (ListPlays != null)
            {
                ListPlays.Clear();
            }

            if (ListTrackOptions != null)
            {
                ListTrackOptions.Clear();
            }
        }
Beispiel #2
0
        /// <summary>
        /// Скачивает полную информацию по трекам в отдельном потоке.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void LoadTraksThread(object sender, EventArgs e)
        {
            //Создние нового процесса.
            ThreadPool.QueueUserWorkItem((object o) =>
            {
                if (PageSearch.GetElement(PageSearch.TextErrorFindBy) == null)
                {
                    ListArtists   = Browser.FindElements(PageSearch.TextArtistBy).ToList();
                    ListTracks    = Browser.FindElements(PageSearch.TextTrackBy).ToList();
                    ListDurations = Browser.FindElements(PageSearch.TextDurationBy).ToList();
                    ListDownloads = Browser.FindElements(PageSearch.IconDownloadBy).ToList();
                    ListPlays     = Browser.FindElements(PageSearch.IconPlayBy).ToList();

                    for (int i = 0; i < ListArtists.Count; i++)
                    {
                        int durationTrack = mainForm.TimeStringToInt(ListDurations[i].Text);

                        if ((durationTrack < mainForm.DurationSetUser) || (mainForm.DurationSetUser == -1))
                        {
                            TrackOptions trackOptions = new TrackOptions(
                                i,
                                ListArtists[i].Text,
                                ListTracks[i].Text,
                                ListDurations[i].Text,
                                ListDownloads[i].GetAttribute("href"),
                                ListTracks[i].Text + ".mp3");
                            ListTrackOptions.Add(trackOptions);
                        }
                    }

                    //Обращение к элементам формы основного потока и закрытие прелоадера в основном потоке.
                    mainForm.Invoke(new MethodInvoker(() =>
                    {
                        mainForm.ShowFromSiteToForm(this.ListTrackOptions, mainForm.GetPanelResult(), mainForm.SetCountShowTracks());
                        formPreloaderTracks.Close();
                    }));
                }
                else
                {
                    //Обращение к элементам формы основного потока и закрытие прелоадера в основном потоке.
                    mainForm.Invoke(new MethodInvoker(() =>
                    {
                        mainForm.ShowFromSiteToForm(this.ListTrackOptions, mainForm.GetPanelResult(), mainForm.SetCountShowTracks());
                        formPreloaderTracks.Close();
                    }));

                    MessageBox.Show("Запрашиваемые треки не найдены");
                }
            });
        }