示例#1
0
        private void Accept_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                switch (DB)
                {
                case "Films":
                    FilmCard FilmData = (FilmCard)Films.Items[Films.SelectedIndex];
                    Int32.TryParse(FilmData.IDFilm, out CurrentRecordIndex);
                    CurrentRowIndex = Films.SelectedIndex;
                    DialogResult    = true;
                    break;

                case "Actors":
                    ArtData = (ArtCard)Actors.Items[Actors.SelectedIndex];
                    Int32.TryParse(ArtData.IDArt, out CurrentRecordIndex);
                    CurrentRowIndex = Actors.SelectedIndex;
                    DialogResult    = true;
                    break;

                default:
                    Accept.IsEnabled = false;
                    break;
                }
            }
            catch { }
        }
示例#2
0
        internal Card_art LoadCard(ArtCard data, Result res, HtmlDocument HDoc)
        {
            var         webget = new HtmlWeb();
            SearchClass SClass = new SearchClass();

            SClass.HDoc = HDoc;
            int ul = 1;

            if (res.CurrentRecordIndex > 4)
            {
                ul = 2;
                res.CurrentRecordIndex -= 4;
            }
            string[] mezi = Regex.Split(SClass.HDoc.DocumentNode.SelectSingleNode("//*[@id='search-creators']/div[1]/ul[" + ul.ToString() + "]/li[" + (res.CurrentRecordIndex) + "]").InnerHtml, "<a href=\"");
            string[] link = Regex.Split(mezi[1], "\">");
            data.LinkArt = link[0];
            SClass.HDoc  = webget.Load("http://www.csfd.cz" + link[0]);

            return(LoadCard(data, SClass.HDoc));
        }
示例#3
0
        private void Actors_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var  webget = new HtmlWeb();
            var  doc    = webget.Load(LinkFilm);
            bool con    = true;
            int  div    = 1;

            while (con)
            {
                string Actors = doc.DocumentNode.SelectSingleNode("//*[@id='profile']/div[1]/div[2]/div[1]/div[" + div + "]/h4[1]").InnerText;
                if (Actors == "Hrají:")
                {
                    con = false;
                }
                else
                {
                    div++;
                }
            }

            try
            {
                string LinkSource = doc.DocumentNode.SelectSingleNode("//*[@id='profile']/div[1]/div[2]/div[1]/div[" + div + "]/span[1]/a[" + (Actors.SelectedIndex + 1) + "]").OuterHtml;
                string Link       = "http://www.csfd.cz" + Regex.Split(Regex.Split(LinkSource, "<a href=\"")[1], "\">")[0];

                ArtCard  ACard   = (ArtCard)Actors.SelectedItem;
                Card_art PropArt = ACard.LoadCard(ACard, (new SearchClass()
                {
                    HDoc = webget.Load(Link)
                }).HDoc);
                PropArt.Client  = Client;
                PropArt.LinkAct = Link;
                PropArt.Title   = "Karta tvůrce: " + ACard.NameArt;
                PropArt.Show();
            }
            catch {}
        }
示例#4
0
        internal Card_art LoadCard(ArtCard data, HtmlDocument HDoc)
        {
            Card_art card = new Card_art(data.LinkArt);

            card.ArtName.Text  = data.NameArt;
            card.Birthday.Text = data.Birth;
            card.Job.Text      = data.Job;
            try
            {
                try
                {
                    card.Die.Text = HDoc.DocumentNode.SelectSingleNode("//*[@id='profile']/div[1]/div[2]/ul[1]/li[2]").InnerText;
                    card.Die.Text = Replace(card.Die.Text, "\n", " ");
                    card.Die.Text = Replace(card.Die.Text, "\t");
                    card.Die.Text = card.Die.Text.Substring(1, card.Die.Text.Length - 2);
                }
                catch { }

                try
                {
                    card.Birthday.Text = HDoc.DocumentNode.SelectSingleNode("//*[@id='profile']/div[1]/div[2]/ul[1]/li[1]").InnerText;
                    card.Birthday.Text = Replace(card.Birthday.Text, "\n", " ");
                    card.Birthday.Text = Replace(card.Birthday.Text, "\t");
                    card.Birthday.Text = card.Birthday.Text.Substring(1, card.Birthday.Text.Length - 2);
                }
                catch { }

                try
                {
                    var         FindDivTag      = HDoc.DocumentNode.Descendants("div").Where(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Contains("image"));
                    var         ImageHTMLSource = FindDivTag.Select(c => c.InnerHtml).Single();
                    string      Img             = "http:" + Regex.Split(Regex.Split(ImageHTMLSource, "<img src=\"")[1], "\"")[0];
                    BitmapImage bitmap          = new BitmapImage();
                    bitmap.BeginInit();
                    bitmap.UriSource = new Uri(Img, UriKind.Absolute);
                    bitmap.EndInit();
                    card.Photo.Source  = bitmap;
                    card.Photo.Stretch = System.Windows.Media.Stretch.UniformToFill;
                }
                catch { }

                try
                {
                    for (int i = 1; ; i++)
                    {
                        try
                        {
                            string AwardsSource = HDoc.DocumentNode.SelectSingleNode("//*[@id='fanclub-chart']/p[" + i + "]/a").InnerHtml;
                            string Awards       = Replace(Replace(Regex.Split(AwardsSource, "<br>")[0], "\t"), "\n") + " " + Regex.Split(AwardsSource, "<br>")[1];
                            card.FanAwards.Text += Replace(Awards, "\t") + ", ";
                        }
                        catch { break; }
                    }
                    card.FanAwards.Text = card.FanAwards.Text.Substring(0, card.FanAwards.Text.Length - 2);
                }
                catch { }

                try
                {
                    card.Story.Text = HDoc.DocumentNode.SelectSingleNode("//*[@id='action']/div[2]/p[1]").InnerText;
                }
                catch { card.Story.Text = "Nepodařilo se nám načíst biografii tvůrce."; }

                try
                {
                    try
                    {
                        for (int i = 1; ; i++)
                        {
                            string Header = "";
                            try
                            {
                                Header = HDoc.DocumentNode.SelectSingleNode("//*[@id='filmography']/div[" + i + "]/div[1]/h2").InnerText;
                                DataGrid DataG = new DataGrid();
                                DataG.IsReadOnly = true;

                                DataGridTextColumn Column = new DataGridTextColumn();
                                Column.Header     = "ID";
                                Column.Binding    = new Binding("IDFilm");
                                Column.Visibility = Visibility.Collapsed;
                                DataG.Columns.Add(Column);

                                Column         = new DataGridTextColumn();
                                Column.Header  = "Rok";
                                Column.Binding = new Binding("Year");
                                DataG.Columns.Add(Column);

                                Column         = new DataGridTextColumn();
                                Column.Header  = "Název filmu";
                                Column.Binding = new Binding("NameFilm");
                                DataG.Columns.Add(Column);

                                string last = "";

                                for (int j = 1; ; j++)
                                {
                                    try
                                    {
                                        string pok = HDoc.DocumentNode.SelectSingleNode("//*[@id='filmography']/div[" + i + "]/div[2]/table/tr[" + j + "]/td[1]").InnerText;
                                        try
                                        {
                                            string year = HDoc.DocumentNode.SelectSingleNode("//*[@id='filmography']/div[" + i + "]/div[2]/table/tr[" + j + "]/th").InnerText;
                                            Replace(ref year, "\n");
                                            Replace(ref year, "\t");
                                            string film = HDoc.DocumentNode.SelectSingleNode("//*[@id='filmography']/div[" + i + "]/div[2]/table/tr[" + j + "]/td").InnerText;
                                            Replace(ref film, "\n");
                                            Replace(ref film, "\t");
                                            if (year != "")
                                            {
                                                last = year;
                                            }
                                            else
                                            {
                                                year = last;
                                            }
                                            if (film != "")
                                            {
                                                DataG.Items.Add(new FilmCard()
                                                {
                                                    IDFilm = j.ToString(), Year = year, NameFilm = film
                                                });
                                            }
                                        }
                                        catch { }
                                    }
                                    catch { break; }
                                }

                                TabItem ti = new TabItem();
                                ti.Header = Header;
                                Grid           asdd = new Grid();
                                BrushConverter bc   = new BrushConverter();
                                asdd.Background = (Brush)bc.ConvertFrom("#FF000000");
                                ti.Content      = DataG;
                                card.FilmTypes.Items.Add(ti);
                            }
                            catch { break; }
                        }
                    }
                    catch { }
                }
                catch { }
            }
            catch { }

            return(card);
        }
示例#5
0
        private void Find_CSFD_Click(object sender, RoutedEventArgs e)
        {
            bool SearchCSFDReuslt = false;
            bool Continue         = false;
            bool MoreSearches     = false;

            do
            {
                Search SearchCSFD = new Search();
                SearchCSFD.MoreSearches.IsChecked = MoreSearches;
                SearchCSFDReuslt = (bool)SearchCSFD.ShowDialog();
                MoreSearches     = (bool)SearchCSFD.MoreSearches.IsChecked;
                if (SearchCSFDReuslt)
                {
                    stav_prog("Program vyhledává: " + SearchCSFD.Find_box.Text);
                    Result vysldek = SClass.FindFilm(SearchCSFD.Find_box.Text, true);

                    if (vysldek.Films.Items.Count == 0)
                    {
                        vysldek.Exp1.IsExpanded = false;
                    }
                    else
                    {
                        vysldek.Exp1.IsExpanded = true;
                    }

                    if (vysldek.Actors.Items.Count == 0)
                    {
                        vysldek.Exp2.IsExpanded = false;
                    }
                    else
                    {
                        vysldek.Exp2.IsExpanded = true;
                    }

                    if ((bool)vysldek.ShowDialog())
                    {
                        if (vysldek.DB == "Films")
                        {
                            FilmCard FCard = new FilmCard();
                            string   name  = "";
                            string[] data  = FCard.LoadProperties(ref name, vysldek, SClass.HDoc);
                            data[5] += " min";
                            data[8]  = "Ne";
                            data[9]  = "Ne";
                            Card_film PropFilm = FCard.LoadCard(data);
                            PropFilm.Cancel.Visibility = Visibility.Visible;
                            PropFilm.seen.IsEnabled    = true;
                            PropFilm.DVD.IsEnabled     = true;
                            PropFilm.Client            = this;
                            PropFilm.Accept.Content    = "Přidat film do databáze";
                            PropFilm.ID        = IntelID(Filmy.Items);
                            PropFilm.pripojeni = pripojeni;
                            PropFilm.link      = data[6];
                            PropFilm.Show();
                        }
                        else
                        {
                            ArtCard  ACard   = new ArtCard();
                            var      data    = vysldek.ArtData;
                            Card_art PropArt = ACard.LoadCard(data, vysldek, SClass.HDoc);
                            PropArt.Client = this;
                            PropArt.Show();
                        }
                    }
                }
                else
                {
                    stav_prog("Spuštěn; Akce zrušena");
                }
                Continue = (MoreSearches == true) && (true == SearchCSFDReuslt);
            }while (Continue);
        }