/// <summary> /// Парсинг вики страницы /// </summary> /// <param name="url">Ссылка настраницу</param> /// <returns></returns> private bool Parse(string url) { char[] separator = { '-', '_' }; string[] array = url.Split(separator); int num = int.Parse("-" + array[1]); int num2 = int.Parse(array[2]); //Если така страница есть, то не добавлять if (_pagesAnime.Select(t => t.Group_id == num && t.Page_id == num2).Any()) { return(false); } string text; JObject jObject; string input; bool ongoing; string description; int countSeries; int count; SeriesCountParse(num, num2, out text, out jObject, out input, out ongoing, out description, out countSeries, out count); string text2 = jObject["response"]["title"].ToString(); Match match = Regex.Match(input, "<img class=\"wk_photo_no_padding\" wiki=\"-[0-9]+_[0-9]+\" alt=\"\" title=\"\" src=\"(https://[\\S|\\-|A-z|\\.|/|0-9|_]+)\" style=\"width:280px; height:360px;\""); string urlImage = match.Groups[1].ToString(); //Добавляем и показываем listAnime.Items.Add(text2); listAnime.SelectedIndex = listAnime.Items.Count - 1; PageAnime pageAnime = new PageAnime(text2, ongoing, urlImage, count, countSeries, description, num, num2); pageAnime.Show(descriptionText, posterBox); _pagesAnime.Add(pageAnime); return(true); }
/// <summary> /// Измениние о том что серия была увиденна /// </summary> /// <param name="pa">Класс страницы</param> /// <param name="index">Индекс</param> private void RenameListAnime(PageAnime pa, int index) { if (InvokeRequired) { BeginInvoke(new RenameAnime(RenameListAnime), pa, index); } else { listAnime.Items.RemoveAt(index); listAnime.Items.Insert(index, pa); } }
/// <summary> /// Оповещение о новой серийй /// </summary> /// <param name="pa">Класс страницы</param> /// <param name="text">Сообщение</param> /// <returns></returns> private int ShowBallon(PageAnime pa, string text = "Новая серия") { int result = _pagesAnime.IndexOf(pa); _ballonIndex = result; if (!notifyIcon1.Visible) { notifyIcon1.Visible = true; } notifyIcon1.ShowBalloonTip(100000, text, pa.Title, ToolTipIcon.Info); return(result); }