Пример #1
0
 private int GetTheFirstNumberOfSongOfCurrentList()
 {
     if (webTool.Url.ToString().Contains(strInitURL))
     {
         LoginStatus = ELoginStatus.ReadyToFind;
     }
     else if (webTool.Url.ToString().Contains("http://www.melon.com/mymusic/like/mymusiclikesong_list.htm?memberKey="))
     {
         string strNum = "";
         // Populate list
         List <HtmlElement> arrElements = new List <HtmlElement>(webTool.Document.GetElementsByTagName("tr").Cast <HtmlElement>());
         foreach (HtmlElement EI in arrElements)
         {
             List <HtmlElement> arrElements2 = new List <HtmlElement>(EI.GetElementsByTagName("div").Cast <HtmlElement>());
             if (arrElements2.Count == 16 || arrElements2.Count == 19)
             {
                 strNum = arrElements2[1].InnerText;
                 break;
             }
         }
         return(Convert.ToInt32(strNum));
     }
     return(-1);
 }
Пример #2
0
        private void GetFavoriteSongList()
        {
            const int nSongCountOfEachPage = 20;
            int       nTotalCount          = UserInfo.nTotalLikeSongs;//Convert.ToInt32(webTool.Document.GetElementById("totCnt").InnerText);
            int       nPageCount           = (int)Math.Ceiling((double)nTotalCount / nSongCountOfEachPage);

            PGB_browser.Maximum = nPageCount;
            for (int i = 0; i < nPageCount; ++i)
            {
                if (bTryToStop)
                {
                    return;
                }

                int    TargetPage = (i * nSongCountOfEachPage + 1);
                string str        = "javascript: pageObj.sendPage('" + TargetPage + "');";
                webTool.Navigate(str);

                while (GetTheFirstNumberOfSongOfCurrentList() != TargetPage)
                {
                    System.Windows.Forms.Application.DoEvents();
                }

                PGB_browser.Value = i;

                // Populate list
                List <HtmlElement> arrElements = new List <HtmlElement>(webTool.Document.GetElementsByTagName("tr").Cast <HtmlElement>());
                foreach (HtmlElement EI in arrElements)
                {
                    List <HtmlElement> arrElements2 = new List <HtmlElement>(EI.GetElementsByTagName("a").Cast <HtmlElement>());
                    //List<HtmlElement> arrElements2_ = new List<HtmlElement>(EI.GetElementsByTagName("div").Cast<HtmlElement>());
                    if (arrElements2.Count == 5)
                    {
                        string strName   = arrElements2[1].InnerText;
                        string strArtist = arrElements2[2].InnerText;
                        string strAlbum  = arrElements2[4].InnerText;
                        this.lstFavorites.Items.Add(new SongListItem {
                            Name = strName, Artist = strArtist, Album = strAlbum
                        });

                        this.RelectingToTheDictionary(strName, strArtist);
                    }
                }
            }
            LoginStatus = ELoginStatus.EverythingFound;


            var myList = m_dArtistSeries.ToList();

            myList.Sort((pair1, pair2) => pair2.Value.CompareTo(pair1.Value));

            {
                foreach (SongListItem SLI in lstFavorites.Items)
                {
                    sb.AppendLine(UserInfo.BuildTheString("|") +
                                  "|" + SLI.Name + "|" + SLI.Artist + "|" + SLI.Album);
                }
            }

            // during the multiple scrapping mode, chart is disabled.
            if (bMultipleScrapMode == false)
            {
                int       nCount = 0;
                const int nMAX   = 5;
                foreach (KeyValuePair <string, int> entry in myList)
                {
                    if (nMAX == nCount++)
                    {
                        break;
                    }

                    VM_Chart.AnalData1.Add(new Artists()
                    {
                        Category = entry.Key, Number = entry.Value
                    });
                }
                GridForPieChart.Visibility = Visibility.Visible;
            }
        }