Exemple #1
0
        private async void Button_Click_1(object sender, RoutedEventArgs e) //przycisk wyszukaj
        {
            WebConnection parser = new WebConnection();

            PagesLoadedMemory.currentQuery = PoleSzukaj.Text;
            bool dead = false;

            if (PagesLoadedMemory.currentQuery.Length > 0)
            {
                textboxStrona.Visibility     = Visibility.Visible;
                następna_strona.Visibility   = Visibility.Visible;
                poprzednia_strona.Visibility = Visibility.Visible;
                Hello.Visibility             = Visibility.Hidden;
                MyScrollViewer.Visibility    = Visibility.Hidden;
                SpinningWheel.Visibility     = Visibility.Visible;
                Dead.Visibility = Visibility.Hidden;
                await Task.Run(() =>
                {
                    do
                    {
                    } while (PagesLoadedMemory.loading == 1);
                    PagesLoadedMemory.loading = 1;

                    PagesLoadedMemory.ClearInfo();
                    PagesLoadedMemory.SetCurrentPage(1);
                    Dispatcher.Invoke(() =>
                    {
                        następna_strona.IsEnabled = false;
                    });

                    PagesLoadedMemory.maxPage = parser.GetHtml(PagesLoadedMemory.currentQuery, 1);

                    if (PagesLoadedMemory.maxPage == -1)
                    {
                        Dispatcher.Invoke(() =>
                        {
                            MyScrollViewer.Visibility = Visibility.Hidden;
                            Dead.Visibility           = Visibility.Visible;
                            PagesLoadedMemory.loading = 0;
                            dead = true;
                        });
                        return;
                    }


                    using (var db = new AllegroAppContext())
                    {
                        var id = db.QueryInfo.Where(x => x.Querry == PagesLoadedMemory.currentQuery).Select(x => x.Id).FirstOrDefault();

                        var items      = GetItems(id, 1);
                        var listItemId = items.Where(x => x.Query_Id == id).Select(x => x.Id).ToList();

                        var tmpParserList = new List <P_ZPP_1.Classes.ParsingToWpf>();

                        string myTmp = "";
                        foreach (var item in items)
                        {
                            foreach (var itempar in GetItemParams(item.Id).ToList())
                            {
                                myTmp += itempar.Property_Name + ": " + itempar.Property_Value + " \n";
                            }

                            tmpParserList.Add(new P_ZPP_1.Classes.ParsingToWpf(item, myTmp));

                            myTmp = "";
                        }


                        if (tmpParserList.Count > 0)
                        {
                            Dispatcher.Invoke(() =>
                            {
                                ProductList.ItemsSource = tmpParserList;
                                string aktualnaStrona   = PagesLoadedMemory.GetCurrentPage().ToString();
                                textboxStrona.Text      = aktualnaStrona;
                            });
                        }
                    }
                    PagesLoadedMemory.loading = 0;
                });

                if (dead)
                {
                    MyScrollViewer.Visibility = Visibility.Hidden;
                }
                else
                {
                    MyScrollViewer.Visibility = Visibility.Visible;
                }
                SpinningWheel.Visibility = Visibility.Hidden;

                var qr = new QueryRemover();
                qr.QueryRemower_Work();
                combox.ItemsSource = GetQuerry().Distinct();

                // textbox.Text = PagesLoadedMemory.GetCurrentPage().ToString();


                //var qr = new QueryRemover();
                //qr.QueryRemower_Work();
                if (dead)
                {
                    return;
                }
                await Task.Run(() =>
                {
                    do
                    {
                    } while (PagesLoadedMemory.loading == 1);
                    PagesLoadedMemory.loading = 1;
                    string usedQuery          = PagesLoadedMemory.currentQuery;
                    for (int i = 2; i <= PagesLoadedMemory.maxPage && i <= PagesLoadedMemory.GetCurrentPage() + 6; i++)
                    {
                        if (usedQuery != PagesLoadedMemory.currentQuery)
                        {
                            PagesLoadedMemory.loading = 0;
                            return;
                        }

                        parser.GetHtml(usedQuery, i);
                        PagesLoadedMemory.maxLoadedPage = i;
                        Dispatcher.Invoke(() =>
                        {
                            if (PagesLoadedMemory.GetCurrentPage() >= PagesLoadedMemory.maxLoadedPage)
                            {
                                następna_strona.IsEnabled = false;
                            }
                            else
                            {
                                następna_strona.IsEnabled = true;
                            }
                        });
                        do
                        {
                            if (usedQuery != PagesLoadedMemory.currentQuery)
                            {
                                PagesLoadedMemory.loading = 0;
                                return;
                            }
                        } while (i == PagesLoadedMemory.GetCurrentPage() + 5);
                    }
                    PagesLoadedMemory.loading = 0;
                });
            }
            else
            {
                MessageBox.Show("Błąd, Pole wyszukiwania jest puste");
            }


            /*using (var db = new AllegroAppContext())
             * {
             *  var id = db.QueryInfo.Where(x => x.Querry == PagesLoadedMemory.currentQuery).Select(x => x.Id).FirstOrDefault();
             *
             *  var items = GetItems(id, 1);
             *  var listItemId = items.Where(x => x.Query_Id == id).Select(x => x.Id).ToList();
             *  if (items.Count > 0)
             *      ProductList.ItemsSource = items;
             *
             *
             *  //var propertyname = paramiters.Select(x => x.Property_Name ).ToList();
             *  //var propvalue = paramiters.Select(x => x.Property_Value).ToList();
             *
             *  //if (paramiters.Count > 0)
             *
             */
        }
Exemple #2
0
        private async void Następna_strona_Click(object sender, RoutedEventArgs e)
        {
            PagesLoadedMemory.SetCurrentPage(PagesLoadedMemory.GetCurrentPage() + 1);
            Dispatcher.Invoke(() =>
            {
                if (PagesLoadedMemory.GetCurrentPage() >= PagesLoadedMemory.maxLoadedPage)
                {
                    następna_strona.IsEnabled = false;
                }
                else
                {
                    następna_strona.IsEnabled = true;
                }
                if (PagesLoadedMemory.GetCurrentPage() != 1)
                {
                    poprzednia_strona.IsEnabled = true;
                }
            });

            await Task.Run(() =>
            {
                if (PagesLoadedMemory.maxLoadedPage < PagesLoadedMemory.GetCurrentPage())
                {
                    PagesLoadedMemory.SetCurrentPage(PagesLoadedMemory.GetCurrentPage() - 1);

                    return;
                }
                else
                {
                    using (var db = new AllegroAppContext())
                    {
                        var id         = db.QueryInfo.Where(x => x.Querry == PagesLoadedMemory.currentQuery).Select(x => x.Id).FirstOrDefault();
                        var nextID     = id + PagesLoadedMemory.GetCurrentPage() - 1;
                        var nextpage   = PagesLoadedMemory.GetCurrentPage();
                        var items      = GetItems(nextID, nextpage);
                        var listItemId = items.Where(x => x.Query_Id == id).Select(x => x.Id).ToList();
                        if (items.Count > 0)
                        {
                            Dispatcher.Invoke(() =>
                            {
                                ProductList.ItemsSource = items;
                                string aktualnaStrona   = PagesLoadedMemory.GetCurrentPage().ToString();
                                textboxStrona.Text      = aktualnaStrona;
                            });
                        }
                        var tmpParserList = new List <P_ZPP_1.Classes.ParsingToWpf>();

                        string myTmp = "";
                        foreach (var item in items)
                        {
                            foreach (var itempar in GetItemParams(item.Id).ToList())
                            {
                                myTmp += itempar.Property_Name + ": " + itempar.Property_Value + " \n";
                            }

                            tmpParserList.Add(new P_ZPP_1.Classes.ParsingToWpf(item, myTmp));

                            myTmp = "";
                        }


                        if (tmpParserList.Count > 0)
                        {
                            Dispatcher.Invoke(() =>
                            {
                                ProductList.ItemsSource = tmpParserList;
                                string aktualnaStrona   = PagesLoadedMemory.GetCurrentPage().ToString();
                                textboxStrona.Text      = aktualnaStrona;
                            });
                        }
                    }
                }


                /*string usedQuery = PagesLoadedMemory.currentQuery;
                 * int currentPage = PagesLoadedMemory.GetCurrentPage();
                 * for (int i = PagesLoadedMemory.maxLoadedPage; i <= PagesLoadedMemory.GetCurrentPage() + 5; i++)
                 * {
                 *  Dispatcher.Invoke(() =>
                 *  {
                 *      if (PagesLoadedMemory.GetCurrentPage() >= PagesLoadedMemory.maxLoadedPage)
                 *          następna_strona.IsEnabled = false;
                 *      else
                 *          następna_strona.IsEnabled = true;
                 *  });
                 *
                 *  if (usedQuery != PagesLoadedMemory.currentQuery || PagesLoadedMemory.GetCurrentPage() != currentPage)
                 *  {
                 *      PagesLoadedMemory.loading = 0;
                 *      return;
                 *  }
                 * }
                 * PagesLoadedMemory.loading = 0;*/
            });
        }
Exemple #3
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            następna_strona.Visibility   = Visibility.Hidden;
            poprzednia_strona.Visibility = Visibility.Hidden;
            textboxStrona.Visibility     = Visibility.Hidden;
            Hello.Visibility             = Visibility.Hidden;
            MyScrollViewer.Visibility    = Visibility.Hidden;
            SpinningWheel.Visibility     = Visibility.Visible;
            Dead.Visibility = Visibility.Hidden;
            PagesLoadedMemory.currentQuery = combox.SelectedItem.ToString();
            bool dead = false;

            if (PagesLoadedMemory.currentQuery.Length > 0)
            {
                await Task.Run(() =>
                {
                    do
                    {
                    } while (PagesLoadedMemory.loading == 1);
                    PagesLoadedMemory.loading = 1;
                    PagesLoadedMemory.ClearInfo();
                    PagesLoadedMemory.SetCurrentPage(1);


                    if (PagesLoadedMemory.maxPage == -1)
                    {
                        Dispatcher.Invoke(() =>
                        {
                            MyScrollViewer.Visibility = Visibility.Hidden;
                            Dead.Visibility           = Visibility.Visible;
                            dead = true;
                        });
                        return;
                    }


                    using (var db = new AllegroAppContext())
                    {
                        var id = db.QueryInfo.Where(x => x.Querry == PagesLoadedMemory.currentQuery).Select(x => x.Id).FirstOrDefault();

                        var items      = GetItems(id, 1);
                        var listItemId = items.Where(x => x.Query_Id == id).Select(x => x.Id).ToList();

                        var tmpParserList = new List <P_ZPP_1.Classes.ParsingToWpf>();

                        string myTmp = "";
                        foreach (var item in items)
                        {
                            foreach (var itempar in GetItemParams(item.Id).ToList())
                            {
                                myTmp += itempar.Property_Name + ": " + itempar.Property_Value + " \n";
                            }

                            tmpParserList.Add(new P_ZPP_1.Classes.ParsingToWpf(item, myTmp));

                            myTmp = "";
                        }


                        if (tmpParserList.Count > 0)
                        {
                            Dispatcher.Invoke(() =>
                            {
                                ProductList.ItemsSource = tmpParserList;
                            });
                        }
                    }
                    PagesLoadedMemory.loading = 0;
                });

                if (dead)
                {
                    MyScrollViewer.Visibility = Visibility.Hidden;
                }
                else
                {
                    MyScrollViewer.Visibility = Visibility.Visible;
                }
                SpinningWheel.Visibility = Visibility.Hidden;
            }
        }