Exemplo n.º 1
0
        // Metod för att spara ner två xml dokument, ett dokument som innehåller srcn till en podcast samt ett dokument som innehåller en "profil" där använder väljer uppdateringsintervall, kategori samt namn.
        public void addToListBox(saveWindow save)
        {
            if (validate.notNullOrEmpty(save.tbNamn.Text) && validate.notNullOrEmpty(save.tbNamn.Text) &&
              validate.isLetters(save.tbNamn.Text)  && validate.isDigit(save.tbUppd.Text) && save.category != null
              )
            {
                String feed = "";
                feed += save.tbNamn.Text;
                feed += save.tbUppd.Text;
                lwSavedFeeds.Items.Add(new SavedItems { Namn = save.tbNamn.Text, Kategori = save.category, Frekvens = save.tbUppd.Text, Stamp = save.tbNamn.Text });

                Profile saveProfile = new Profile();
                Feed saveFeed = new Feed();
                saveProfile.save(save.tbNamn.Text, tbUrl.Text, save.category, save.tbUppd.Text);
                saveFeed.save(save.tbNamn.Text, tbUrl.Text, save.category, save.tbUppd.Text);
            }

            else
            {
                printStatusMessage("Vänliga fyll i alla fält med efterfrågad data");
            }
        }
        /// <summary>
        /// Skapar ett feedbibliotek basererat på det som är angett i parameterlistan. Skapar nya Feed-objekt beroende på hur många avsnitt angiven RSS-feed har.
        /// Lägger till dessa Feed-objekt i feedbiblioteket. Väldigt lik metoden ovan.
        /// </summary>
        /// <param name="feedBibliotek"></param>
        /// <param name="inUrl"></param>
        /// <returns></returns>
        public FeedBibliotek LaddaOmBibliotek(FeedBibliotek feedBibliotek, string inUrl)
        {
            XmlNodeList podcastItems = hämtning.LaddaPodcasts(inUrl, "//item");

            FeedBibliotek bibliotek = feedBibliotek;

            for (int i = 0; i < podcastItems.Count; i++)
            {
                Feed feed = new Feed();

                podcastTitel = Convert.ToString(podcastItems[i].SelectSingleNode("title").InnerText);
                inUrl = Convert.ToString(podcastItems[i].SelectSingleNode("enclosure").Attributes["url"].Value);
                description = Convert.ToString(podcastItems[i].SelectSingleNode("description").InnerText);

                string nyDescription = WebUtility.HtmlDecode(description);

                string trimmedTitel = podcastTitel.Trim('\t', '\n', '\v', '\f', '\r', '"');

                feed.Title = trimmedTitel;
                feed.Url = inUrl;
                feed.Description = nyDescription;

                bibliotek.LäggTillPodcast(feed);

            }
            return bibliotek;
        }
        /// <summary>
        /// Skapar ett nytt feedbibliotek. Skapar nya Feed-objekt beroende på hur många avsnitt angiven RSS-feed har.
        /// Lägger till dessa Feed-objekt i det nyskapade feedbiblioteket.
        /// </summary>
        /// <param name="cbIntervall"></param>
        /// <param name="inUrl"></param>
        /// <returns></returns>
        public FeedBibliotek SkapaFeed(ComboBox cbIntervall, string inUrl)
        {
            XmlNodeList podcastItems = hämtning.LaddaPodcasts(inUrl, "//item");

            FeedBibliotek bibliotek = new FeedBibliotek();

            bibliotek.RSSUrl = inUrl;

            for (int i = 0; i < podcastItems.Count; i++)
            {
                Feed feed = new Feed();

                podcastTitel = Convert.ToString(podcastItems[i].SelectSingleNode("title").InnerText); //Titeln på varje avsnitt.
                inUrl = Convert.ToString(podcastItems[i].SelectSingleNode("enclosure").Attributes["url"].Value); //URL på varje avsnitt.
                description = Convert.ToString(podcastItems[i].SelectSingleNode("description").InnerText); //Beskrivning på varje avsnitt.

                string nyDescription = WebUtility.HtmlDecode(description); //Snyggar upp eventuell HTML-formatering i beskrivningen.

                string trimmedTitel = podcastTitel.Trim('\t', '\n', '\v', '\f', '\r', '"'); //Ser till så att titeln inte innehåller onödiga tecken.

                feed.Title = trimmedTitel;
                feed.Url = inUrl;
                feed.Description = nyDescription;

                //Nedan så kollar koden vilken tid användaren valt och anger en int-variabel med motsvarande tid i millisekunder.
                if (cbIntervall.SelectedIndex == 0)
                {
                    uppdateringsIntervall = 5400000; //90 minuter.
                }
                if (cbIntervall.SelectedIndex == 1)
                {
                    uppdateringsIntervall = 10800000; //180 minuter.
                }
                if (cbIntervall.SelectedIndex == 2)
                {
                    uppdateringsIntervall = 21600000; //360 minuter.
                }

                bibliotek.UppdateringsIntervall = uppdateringsIntervall;
                bibliotek.LäggTillPodcast(feed);

            }
            return bibliotek;
        }
 public void LäggTillPodcast(Feed f)
 {
     Feed.Add(f);
 }