Beispiel #1
0
        public List <Result> Query(Query query)
        {
            List <Result> results = new List <Result>(); // Opretter liste af resultater

            if (Feeds.FeedsList.Count == 0)
            {
                try
                {
                    Feeds.FeedsList = JsonReadWrite.LoadFeedsFromJsonAsync();
                }
                catch (Exception e)
                {
                    Feeds.HardcodedFeeds();
                }
                //Feeds.HardcodedFeeds();
            }

            //Settings window
            results.Add(SettingsWindow()); // tilføjer til listen


            string queryString = ""; // Opretter string til søgeresultat

            if (query.RawQuery.Length > 4)
            {
                queryString = query.RawQuery.Substring(4); // Tilføjer søgning til string
            }

            foreach (Feeds feed in Feeds.FeedsList)                   // Gennemløber alle feeds i Feeds
            {
                if (feed.ToBeSeen)                                    // Tjekker om feeded skal bruges (bool)
                {
                    RssManager reader = new RssManager(feed.FeedUrl); // Opretter reader med feeded

                    foreach (Rss.Items items in reader.GetFeed())     // Gennemløber de enkelte feeds
                    {
                        if (query.RawQuery.Length > 4)                // Hvis der søges
                        {
                            if (items.Title.ToLower().Contains(queryString.ToLower()) ||
                                items.Description.ToLower().Contains(queryString.ToLower())
                                )                                             // Tjekker om query passer med noget i historien
                            {
                                results.Add(NewStory(items, feed.ImagePath)); // tilføjer til listen
                            }
                        }
                        else
                        {
                            results.Add(NewStory(items, feed.ImagePath));  // tilføjer alle stories til listen
                        }
                    }
                }
            }

            results = results.OrderBy(o => o.SubTitle).ToList();
            results.Reverse();

            return(results);
        }
Beispiel #2
0
 private static async void SaveSettings_Click(object sender, RoutedEventArgs e)
 {
     for (int i = 0; i < checkboxList.Count; i++)
     {
         if (checkboxList[i].IsChecked.HasValue && checkboxList[i].IsChecked.Value)
         {
             Feeds.FeedsList[i].ToBeSeen = true;
         }
         else
         {
             Feeds.FeedsList[i].ToBeSeen = false;
         }
     }
     bw.Close();
     await JsonReadWrite.SaveFeedsAsJsonAsync(Feeds.FeedsList);
 }
Beispiel #3
0
 private static async void LoadFeeds()
 {
     Feeds.FeedsList = JsonReadWrite.LoadFeedsFromJsonAsync();
 }