private void newEpisode_Click(object sender, RoutedEventArgs e)
        {
            var items = episodes.Items.Cast <EpisodeRecord>().ToList();
            var ep    = new EpisodeRecord()
            {
                ShowId = _repo.getIdOfExistingShow(title)
            };
            NewEpisode episode = new NewEpisode();

            episode.DataContext = ep;
            episode.Closed     += ChildWindowClosed;
            episode.Show();
        }
Esempio n. 2
0
        async public Task <IResult <NewEpisode> > GetNewEpisodes(int Page = 1)
        {
            IResult <NewEpisode> Donut = null;

            var Liste = new NewEpisode();

            var Req = new RestRequest("listeler/yenibolum/sayfa-" + Page.ToString());
            var Res = this._HttpClient.Get(Req);

            if (Res.StatusCode != System.Net.HttpStatusCode.OK)
            {
                Donut = Result.Fail <NewEpisode>(Res.StatusDescription);
            }
            else
            {
                TextInfo ti = CultureInfo.CurrentCulture.TextInfo;

                var Document = await Res.Content.ConvertHTML();

                var BolumlerHTMLS = Document.QuerySelectorAll(".flx-block");

                Regex SezonAndBolum = new Regex(@"(.*?) ([\d]+). sezon ([\d]+). bölüm izle");
                Regex OnlyBolum     = new Regex(@"(.*?) ([\d]+). bölüm izle");
                Regex Onlyizle      = new Regex(@"(.*?) izle");


                foreach (var BolumHTML in BolumlerHTMLS)
                {
                    ShortEpisode ShortEpisode = new ShortEpisode();
                    var          Chip         = BolumHTML.QuerySelectorAll(".info-chip")[1].Text().ToLower().Trim().Replace(" ", "");

                    var Bol = Chip.Split('/');

                    if (Chip.Contains("böl"))
                    {
                        ShortEpisode.EpID = Bol[0].Replace("böl", "").Trim();
                    }
                    else
                    {
                        ShortEpisode.EpID = Bol[0].Replace(" ", "").Trim();
                    }

                    ShortEpisode.Name = BolumHTML.QuerySelector(".bar>h4").Text();


                    var TestSezonAndBolum = SezonAndBolum.Match(ShortEpisode.Name.ToLower());
                    if (TestSezonAndBolum.Success)
                    {
                        ShortEpisode.ShowName = ti.ToTitleCase(TestSezonAndBolum.Groups[1].Value);
                        ShortEpisode.SeasonID = TestSezonAndBolum.Groups[2].Value;
                    }
                    else
                    {
                        var TestBolum = OnlyBolum.Match(ShortEpisode.Name.ToLower());

                        if (TestBolum.Success)
                        {
                            ShortEpisode.ShowName = ti.ToTitleCase(TestBolum.Groups[1].Value);
                        }
                        else
                        {
                            var TestIzle = Onlyizle.Match(ShortEpisode.Name.ToLower());
                            if (TestIzle.Success)
                            {
                                ShortEpisode.ShowName = ti.ToTitleCase(TestIzle.Groups[1].Value);
                            }
                            else
                            {
                                ShortEpisode.ShowName = ShortEpisode.Name;
                            }
                        }
                    }


                    ShortEpisode.Uri   = BolumHTML.Attributes["data-href"].Value;
                    ShortEpisode.Image = BolumHTML.QuerySelector("a>img").Attributes["src"].Value;

                    Liste.Episodes.Add(ShortEpisode);
                }

                var PaginationHtml = Document.QuerySelectorAll(".pagination")[0];

                Liste.Pagination.Current = Convert.ToInt32(PaginationHtml.QuerySelector(".active").Text());

                Liste.Pagination.Max = Convert.ToInt32(PaginationHtml.QuerySelectorAll("li")[PaginationHtml.QuerySelectorAll("li").Length - 2].Text());

                Donut = Result.Success(Liste);
            }

            return(Donut);
        }