public static List <Avsnitt> GetAvsnitts(string Url) { List <Avsnitt> List = new List <Avsnitt>(); using (XmlReader reader = XmlReader.Create(Url)) { SyndicationFeed rssFeed = SyndicationFeed.Load(reader); foreach (SyndicationItem item in rssFeed.Items) { Avsnitt avsnitt = new Avsnitt(); avsnitt.Titel = item.Title.Text; avsnitt.Description = item.Summary.Text; foreach (var link in item.Links) { avsnitt.URI = link.Uri.ToString(); avsnitt.Length = link.Length.ToString(); } List.Add(avsnitt); } return(List); }; }
public static List <Avsnitt> GetAvsnitt(string fileName) { CheckPath(); string fullFileName = path + "Avsnitt_" + fileName + ".xml"; List <Avsnitt> avsnitts = new List <Avsnitt>(); XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreWhitespace = true; settings.IgnoreComments = true; XmlReader xmlin = XmlReader.Create(fullFileName, settings); if (xmlin.ReadToDescendant("Avsnitt")) { do { Avsnitt avsnitt = new Avsnitt(); xmlin.ReadStartElement("Avsnitt"); avsnitt.Titel = xmlin.ReadElementContentAsString(); avsnitt.Description = xmlin.ReadElementContentAsString(); avsnitt.URI = xmlin.ReadElementContentAsString(); avsnitt.Length = xmlin.ReadElementContentAsString(); avsnitts.Add(avsnitt); }while (xmlin.ReadToNextSibling("Avsnitt")); } xmlin.Close(); return(avsnitts); }
private async void cbValjEnPodcast_SelectedIndexChanged(object sender, EventArgs e) { try { var kategori = cbValjEnKategori.Text; var podcast = cbValjEnPodcast.Text; Avsnitt avsnitt = new Avsnitt(); Podcast enpodcast = new Podcast(); if (enpodcast.harIntervallPaserat(kategori, podcast)) { Task <bool> result; result = avsnitt.kollaOmNyttAvsnittFinns(kategori, podcast); lblAvsnitt.Text = "Kollar om det finns nya avsnitt för denna Podcast..."; if (await result) { avsnitt.fyllClbMedAvsnittNytt(kategori, podcast, lbAvsnitt, lblAvsnitt); } else { avsnitt.fyllClbMedAvsnitt(kategori, podcast, lbAvsnitt, lblAvsnitt); } } else { avsnitt.fyllClbMedAvsnitt(kategori, podcast, lbAvsnitt, lblAvsnitt); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public static void hamtaRssInfo(string url, int freq, string kategori) { using (XmlReader reader = XmlReader.Create(url)) { try { SyndicationFeed feed = SyndicationFeed.Load(reader); var mainTitle = feed.Title.Text; int i = 0; foreach (SyndicationItem item in feed.Items) { string title = item.Title.Text; string summary = (((TextSyndicationContent)item.Summary).Text); Avsnitt avsnitt = new Avsnitt(mainTitle, title, summary); AvsnittsLista.laggTill(avsnitt); i++; } Podcast podcast = new Podcast(mainTitle, freq, kategori, i, url); PodcastLista.laggTill(podcast); FrekvensTimer.Start(mainTitle, url, freq, kategori); } catch (Exception) { System.Windows.Forms.MessageBox.Show("Denna RSS-feed gick ej att läsa"); } } }
public async Task LaddaRss(string rssUrl) { await Task.Run(() => // det som speciferas läggs på kö och istället returneras en Task Objekt { try { XmlReader lasare = XmlReader.Create(rssUrl); // skapar ny xmlReader instans med specificerad url SyndicationFeed flode = SyndicationFeed.Load(lasare); // laddar en syndikering flöde av specificerad xmlReader lasare.Close(); // När overridden i en härledd klass, ändras XmlReader.ReadState till ReadState.Closed raknaAvsnitt = antalObjekt(rssUrl).ToString(); // ändrar int till string poddTitel = flode.Title.Text; foreach (SyndicationItem avsnitt in flode.Items) // SyndicationItem( representerar ett flöde objekt som tex RSS <objekt> { avsTitel = avsnitt.Title.Text; string sammanfattning = avsnitt.Summary.Text; // lokal variabel if (!AvsSammanfattning.ContainsKey(avsTitel)) // bestämmer om key/value innnehåller den specificerad key { AvsSammanfattning.Add(avsTitel, new List <string>()); // ADD-lägger till den specifierad key/value till Dictionary AvsSammanfattning[avsTitel].Add(sammanfattning); // lägger till ett objekt till listan } if (!Avsnitt.ContainsKey(poddTitel)) // bestämmer om key/value innnehåller den specificerad key { Avsnitt.Add(poddTitel, new List <string>()); // lägger till ett objekt till listan Avsnitt[poddTitel].Add(avsTitel); // lägger till ett objekt till listan } else { bool avsnittFinns = Avsnitt.Values.Any(value => value.Contains(avsTitel)); // bestämmer om några element av en sekvens stämmer överens av konditionen bool sammFinns = AvsSammanfattning.Values.Any(value => value.Contains(sammanfattning)); // ,, if (!avsnittFinns) { Avsnitt[poddTitel].Add(avsTitel); // lägger till ett objekt till listan } if (!sammFinns) { AvsSammanfattning[avsTitel].Add(sammanfattning); // lägger till ett objekt till listan } } } } catch { MessageBox.Show("Något har tyvärr gått fel"); // fel meddelande } }); }
private void lbxPodcastAvsnitt_SelectedIndexChanged(object sender, EventArgs e) { try { var a = lbxPodcastAvsnitt.SelectedItem.ToString(); tbxAvsnittBeskrivning.Clear(); lblAvsnittBeksrivning.Text = a; string url = lwPodcast.SelectedItems[0].Text; Avsnitt avsnitt = GUIController.GetAvsnittFromSelectedPodcast(url, a); tbxAvsnittBeskrivning.Text = GUIController.GetAvsnittBeskrivning(avsnitt); } catch (Exception ex) { Console.WriteLine(ex); } }
private void lbAvsnitt_SelectedIndexChanged(object sender, EventArgs e) { if (lbAvsnitt.SelectedItems.Count == 0) { return; } if (lbAvsnitt.SelectedItems[0] != null) { var podcast = (Avsnitt)lbAvsnitt.SelectedItems[0]; avsnitt = podcast; string titel = avsnitt.avsnittTitel; string beskrivning = avsnitt.Beskrivning; lblAvsnittTitel.Text = titel; wbBeskrivning.DocumentText = beskrivning; } }
public static void SkapaListaAvsnitt() { if (File.Exists("avsnitt.txt")) { XDocument xdoc = XDocument.Load("avsnitt.txt"); xdoc.Descendants("Avsnitt").Select(p => new { podcastTitel = p.Element("PodcastTitel").Value, avsnittTitel = p.Element("AvsnittTitel").Value, beskrivning = p.Element("Beskrivning").Value, }).ToList().ForEach(p => { Avsnitt avsnitt = new Avsnitt(p.podcastTitel, p.avsnittTitel, p.beskrivning); AvsnittsLista.laggTill(avsnitt); }); } }
private void btnPlay_Click(object sender, EventArgs e) { try { if (Validation.comboBoxInteTomt(cbValjEnKategori, "Kategori") && Validation.comboBoxInteTomt(cbValjEnPodcast, "podcast") && Validation.lbInteTomt(lbAvsnitt, "Ett avsnitt")) { var valtAvsnitt = lbAvsnitt.Text; var valdKategori = cbValjEnKategori.Text; var valdPod = cbValjEnPodcast.Text; var valtAvsnittIndex = lbAvsnitt.SelectedIndex; Avsnitt avsnitt = new Avsnitt(); avsnitt.spelaAvsnitt(valdKategori, valdPod, valtAvsnitt, lbAvsnitt, valtAvsnittIndex); avsnitt.fyllClbMedAvsnitt(valdKategori, valdPod, lbAvsnitt, lblAvsnitt); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }