public LäggTillKategori(SamlingsBibliotek inSamlingsBibliotek, Main inForm) { InitializeComponent(); samlingsBibliotek = inSamlingsBibliotek; bibliotekHanterare = new BibliotekHanterare(); validering = new ValideringInData(); form = inForm; }
public TaBortKategori(SamlingsBibliotek insSamlingsBibliotek, Main inForm) { InitializeComponent(); samlingsBibliotek = insSamlingsBibliotek; bibliotekHanterare = new BibliotekHanterare(); guiHanterare = new GUIHanterare(); validering = new ValideringInData(); form = inForm; guiHanterare.UppdateraKategoriComboBox(cbKategorier, samlingsBibliotek); }
public ÄndraTillhörandeKategori(SamlingsBibliotek inSamlingsBibliotek, Main inForm) { InitializeComponent(); samlingsBibliotek = inSamlingsBibliotek; bibliotekHanterare = new BibliotekHanterare(); guiHanterare = new GUIHanterare(); validering = new ValideringInData(); form = inForm; guiHanterare.UppdateraKategoriComboBox(cbKategori, cbNyKategori, samlingsBibliotek); }
public ÄndraUppdateringsintevall(SamlingsBibliotek insSamlingsBibliotek, Main inForm) { InitializeComponent(); samlingsBibliotek = insSamlingsBibliotek; bibliotekHanterare = new BibliotekHanterare(); guiHanterare = new GUIHanterare(); intervallBibliotek = new IntervallBibliotek(); valideringInData = new ValideringInData(); form = inForm; guiHanterare.PrintaIntervaller(cbNyIntervall, intervallBibliotek); guiHanterare.UppdateraKategoriComboBox(cbKategori, samlingsBibliotek); }
public Main() { InitializeComponent(); repository = new Repository(); reader = new FeedReader(); samlingsBibliotek = repository.Load(); guiHanterare = new GUIHanterare(); validering = new ValideringInData(); uppdateraKategorier(); reader.InstansieraTimers(samlingsBibliotek); }
/// <summary> /// Lägger till ett feedbibliotek i en kategorilista /// </summary> /// <param name="kategori"></param> /// <param name="bibliotek"></param> /// <param name="samlingsBibliotek"></param> public void LäggTillFeedBibliotekTillKategoriLista(ComboBox kategori, FeedBibliotek bibliotek, SamlingsBibliotek samlingsBibliotek) { try { int index = kategori.SelectedIndex; KategoriBibliotek bibliotekAvFeeds = samlingsBibliotek.SamlingsLista[index]; bibliotekAvFeeds.LäggTillFeed(bibliotek); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public LäggTillPodcast(SamlingsBibliotek inSamlingsBibliotek, Main inForm) { InitializeComponent(); reader = new FeedReader(); bibliotekHanterare = new BibliotekHanterare(); guiHanterare = new GUIHanterare(); intervallBibliotek = new IntervallBibliotek(); validering = new ValideringInData(); valideringUrl = new ValideringUrlLäggTillPodcast(); form = inForm; samlingsBibliotek = inSamlingsBibliotek; guiHanterare.PrintaIntervaller(cbIntervall, intervallBibliotek); guiHanterare.UppdateraKategoriComboBox(cbKategorier, samlingsBibliotek); }
/// <summary> /// Loopar igenom RSS-feeden och hämtar titeln på podcastprogrammet. /// Sätter angivet feedbiblioteks titel med den hämtade titeln. /// </summary> /// <param name="inUrl"></param> /// <param name="bibliotek"></param> /// <param name="samlingsBibliotek"></param> public void InstansieraPodcastTitel(string inUrl, FeedBibliotek bibliotek, SamlingsBibliotek samlingsBibliotek) { try { XmlNodeList feedTitle = hämtning.LaddaPodcasts(inUrl, "//channel"); for (int j = 0; j < feedTitle.Count; j++) { listaTitel = Convert.ToString(feedTitle[j].SelectSingleNode("title").InnerText); bibliotek.FeedBibliotekTitel = listaTitel; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Loopar igenom angivet samlingsbibliotek, kategoribibliotek och feedbibliotek för att jämföra den URL /// som användaren angett som adress till podcastens RSS-feed. Om URLen redan finns så visas en messagebox /// som berättar för användaren att denne inte kan lägga till denna podcast. /// </summary> /// <param name="txtUrl"></param> /// <param name="inSamlingsBibliotek"></param> /// <returns></returns> public bool UrlAlreadyExist(TextBox txtUrl, SamlingsBibliotek inSamlingsBibliotek) { string url = txtUrl.Text; samlingsBibliotek = inSamlingsBibliotek; for (int i = 0; i < samlingsBibliotek.Antal; i++) { for (int j = 0; j < samlingsBibliotek.SamlingsLista[i].Antal; j++) { for (int h = 0; h < samlingsBibliotek.SamlingsLista[i].KategoriLista[j].Antal; h++) { if (samlingsBibliotek.SamlingsLista[i].KategoriLista[j].RSSUrl == url) { MessageBox.Show("Denna podcast har redan lagts till!", "Error"); return false; } } } } return true; }
/// <summary> /// Loopar igenom angett samlingsbibliotek och kategoribibliotek och /// kollar om det finns några feedbibliotek i eventuella kategoribibliotek. Om det finns några feedbibliotek /// så instansieras nya timer-objekt baserat på dessa feedbiblioteks angivna uppdateringsintervall. /// </summary> /// <param name="inSamlingsBibliotek"></param> public void InstansieraTimers(SamlingsBibliotek inSamlingsBibliotek) { SamlingsBibliotek samlingsBibliotek = inSamlingsBibliotek; for (int i = 0; i < samlingsBibliotek.Antal; i++) { for (int j = 0; j < samlingsBibliotek.SamlingsLista.Count; j++) { if (samlingsBibliotek.SamlingsLista[i].Antal != 0 && j < samlingsBibliotek.SamlingsLista[i].Antal) { TimerInitializer nyTimer = new TimerInitializer(this, samlingsBibliotek.SamlingsLista[i].KategoriLista[j].RSSUrl, samlingsBibliotek); int tid; tid = samlingsBibliotek.SamlingsLista[i].KategoriLista[j].UppdateringsIntervall; nyTimer.Start(tid); TimerBibliotek.LäggTillTimer(nyTimer); } } } }
/// <summary> /// Fyller på angiven listbox med avsnitt, baserat på vald kategori och podcast. /// </summary> /// <param name="titel"></param> /// <param name="kategori"></param> /// <param name="lb"></param> /// <param name="samlingsBibliotek"></param> public void PrintaPods(ComboBox titel, ComboBox kategori, ListBox lb, SamlingsBibliotek samlingsBibliotek) { try { lb.Items.Clear(); int index = titel.SelectedIndex; int j = kategori.SelectedIndex; KategoriBibliotek Kbibliotek = samlingsBibliotek.SamlingsLista[j]; FeedBibliotek Fbibliotek = Kbibliotek.KategoriLista[index]; for (int i = 0; i < Fbibliotek.Antal; i++) { lb.Items.Add(Fbibliotek.Feed[i].Title); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Tar bort ett feedbibliotek, stänger ner det tillhörande timer-objektet. /// Lägger till ett exakt likadant feedbibliotek i en kategorilista och startar ett nytt timer-objekt. /// </summary> /// <param name="kategori"></param> /// <param name="podcast"></param> /// <param name="nyKategori"></param> /// <param name="samlingsBibliotek"></param> public void BytKategori(ComboBox kategori, ComboBox podcast, ComboBox nyKategori, SamlingsBibliotek samlingsBibliotek) { try { int index = kategori.SelectedIndex; int podcastIndex = podcast.SelectedIndex; KategoriBibliotek bibliotekAvFeeds = samlingsBibliotek.SamlingsLista[index]; FeedBibliotek feedBibliotek = bibliotekAvFeeds.KategoriLista[podcastIndex]; for (int i = 0; i < TimerBibliotek.Antal; i++) { if (TimerBibliotek.Timer[i].TimerID == feedBibliotek.FeedBibliotekTitel) { TimerBibliotek.Timer[i].timer.Close(); } } string url = feedBibliotek.RSSUrl; TimerInitializer timer = new TimerInitializer(reader, url, samlingsBibliotek); timer.TimerID = feedBibliotek.FeedBibliotekTitel; timer.Start(feedBibliotek.UppdateringsIntervall); TimerBibliotek.LäggTillTimer(timer); LäggTillFeedBibliotekTillKategoriLista(nyKategori, feedBibliotek, samlingsBibliotek); TaBortPodcast(kategori, podcast, samlingsBibliotek); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Fyller på angivna comboxar med kategorititlar. /// </summary> /// <param name="kategori"></param> /// <param name="nyKategori"></param> /// <param name="samlingsBibliotek"></param> public void UppdateraKategoriComboBox(ComboBox kategori, ComboBox nyKategori, SamlingsBibliotek samlingsBibliotek) { try { kategori.Items.Clear(); for (int i = 0; i < samlingsBibliotek.Antal; i++) { kategori.Items.Add(samlingsBibliotek.SamlingsLista[i].KategoriTitel); nyKategori.Items.Add(samlingsBibliotek.SamlingsLista[i].KategoriTitel); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Lägger till ett nytt kategoribibliotek i samlingsbiblioteket. /// </summary> /// <param name="nyKategori"></param> /// <param name="samlingsBibliotek"></param> public void LäggTillKategoriBibliotekTillSamlingsLista(TextBox nyKategori, SamlingsBibliotek samlingsBibliotek) { try { string kategoriNamn = nyKategori.Text; KategoriBibliotek bibliotek = new KategoriBibliotek(); bibliotek.KategoriTitel = kategoriNamn; samlingsBibliotek.LäggTillKategori(bibliotek); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Tar bort vald kateogri ur samlingsbiblioteket och stänger ner tillhörande timer-objekt. /// </summary> /// <param name="kategori"></param> /// <param name="samlingsBibliotek"></param> public void TaBortKategori(ComboBox kategori, SamlingsBibliotek samlingsBibliotek) { try { int index = kategori.SelectedIndex; KategoriBibliotek bibliotek = samlingsBibliotek.SamlingsLista[index]; for (int i = 0; i < TimerBibliotek.Antal; i++) { TimerBibliotek.Timer[i].timer.Close(); } samlingsBibliotek.SamlingsLista.Remove(bibliotek); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Kollar vilken kategori och podcast man valt och stänger tillhörande timer-objekt och tar bort vald podcast från kategorilistan. /// </summary> /// <param name="kategori"></param> /// <param name="podcast"></param> /// <param name="samlingsBibliotek"></param> public void TaBortPodcast(ComboBox kategori, ComboBox podcast, SamlingsBibliotek samlingsBibliotek) { try { int index = podcast.SelectedIndex; int j = kategori.SelectedIndex; KategoriBibliotek Kbibliotek = samlingsBibliotek.SamlingsLista[j]; FeedBibliotek Fbibliotek = Kbibliotek.KategoriLista[index]; for (int i = 0; i < TimerBibliotek.Antal; i++) { if (TimerBibliotek.Timer[i].TimerID == Fbibliotek.FeedBibliotekTitel) { TimerBibliotek.Timer[i].timer.Close(); } } Kbibliotek.KategoriLista.Remove(Fbibliotek); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Skapar ett feedbibliotek, laddar ner tillhörande mp3-filer, sätter titeln på feedbiblioteket, /// lägger till feedbiblioteket i vald kategorilista, initialiserar ett nytt timer-objekt /// och lägger till det i timerbiblioteket. /// </summary> /// <param name="inUrl"></param> /// <param name="kategori"></param> /// <param name="intervall"></param> /// <param name="samlingsBibliotek"></param> public void SkapaPrenumeration(TextBox inUrl, ComboBox kategori, ComboBox intervall, SamlingsBibliotek samlingsBibliotek) { string nyUrl = inUrl.Text; FeedBibliotek bibliotek = SkapaFeed(intervall, nyUrl); PodcastNerladdning(nyUrl); InstansieraPodcastTitel(nyUrl, bibliotek, samlingsBibliotek); bibliotekHanterare.LäggTillFeedBibliotekTillKategoriLista(kategori, bibliotek, samlingsBibliotek); TimerInitializer timer = new TimerInitializer(this, nyUrl, samlingsBibliotek); timer.TimerID = bibliotek.FeedBibliotekTitel; timer.Start(bibliotek.UppdateringsIntervall); TimerBibliotek.LäggTillTimer(timer); senasteTillagdaTimer = timer; url = nyUrl; }
/// <summary> /// Tömmer angivet feedbibliotek på feed-objekt och lägger in nya feed-objekt. /// </summary> /// <param name="inUrl"></param> /// <param name="samlingsBibliotek"></param> public void LaddaOmPrenumeration(string inUrl, SamlingsBibliotek samlingsBibliotek) { url = inUrl; for (int i = 0; i < samlingsBibliotek.Antal; i++) { for (int j = 0; j < samlingsBibliotek.SamlingsLista[i].Antal; j++) { if (samlingsBibliotek.SamlingsLista[i].KategoriLista[j].RSSUrl == url) { feedBibliotekFörAttLaddaOm = samlingsBibliotek.SamlingsLista[i].KategoriLista[j]; } } } feedBibliotekFörAttLaddaOm.Feed.Clear(); feedBibliotekFörAttLaddaOm = LaddaOmBibliotek(feedBibliotekFörAttLaddaOm, url); }
/// <summary> /// Fyller på angiven combobox med podcasttitlar. /// </summary> /// <param name="kategori"></param> /// <param name="titlar"></param> /// <param name="samlingsBibliotek"></param> public void PrintaTitlar(ComboBox kategori, ComboBox titlar, SamlingsBibliotek samlingsBibliotek) { try { titlar.Items.Clear(); int index = kategori.SelectedIndex; KategoriBibliotek bibliotek = samlingsBibliotek.SamlingsLista[index]; for (int i = 0; i < bibliotek.Antal; i++) { titlar.Items.Add(bibliotek.KategoriLista[i].FeedBibliotekTitel); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Kollar vilken kategori, podcast och avsnitt som är valt. Validerar om man redan har markerat låten i listan som lyssnad. /// Om den inte är lyssnad så blir den markerad, annars så låter den varas. /// </summary> /// <param name="kategori"></param> /// <param name="podcast"></param> /// <param name="avsnitt"></param> /// <param name="samlingsBibliotek"></param> public void VisaSomLyssnad(ComboBox kategori, ComboBox podcast, ListBox avsnitt, SamlingsBibliotek samlingsBibliotek) { try { int kategoriIndex = kategori.SelectedIndex; int podcastIndex = podcast.SelectedIndex; int avsnittsIndex = avsnitt.SelectedIndex; KategoriBibliotek kBibliotek = samlingsBibliotek.SamlingsLista[kategoriIndex]; FeedBibliotek fBibliotek = kBibliotek.KategoriLista[podcastIndex]; validering.isListened(fBibliotek, avsnittsIndex); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Kollar vilken kategori som är vald i comboboxen och ändrar det kategoribibliotekets titel. /// </summary> /// <param name="kategori"></param> /// <param name="nyttKategoriNamn"></param> /// <param name="samlingsBibliotek"></param> public void ÄndraKategoriNamn(ComboBox kategori, TextBox nyttKategoriNamn, SamlingsBibliotek samlingsBibliotek) { try { string kategoriNamn = nyttKategoriNamn.Text; int index = kategori.SelectedIndex; KategoriBibliotek bibliotek = samlingsBibliotek.SamlingsLista[index]; bibliotek.KategoriTitel = kategoriNamn; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public ÄndraPodcast(SamlingsBibliotek inSamlingsBibliotek, Main inForm) { InitializeComponent(); samlingsBibliotek = inSamlingsBibliotek; form = inForm; }
/// <summary> /// Ändrar uppdateringsintervallet på feedblioteket och på tillhörande timerobjekt. /// </summary> /// <param name="kategori"></param> /// <param name="podcast"></param> /// <param name="intervall"></param> /// <param name="samlingsBibliotek"></param> public void ÄndraUppdateringsIntervall(ComboBox kategori, ComboBox podcast, ComboBox intervall, SamlingsBibliotek samlingsBibliotek) { try { int index = kategori.SelectedIndex; int podcastIndex = podcast.SelectedIndex; KategoriBibliotek bibliotekAvFeeds = samlingsBibliotek.SamlingsLista[index]; FeedBibliotek feedBibliotek = bibliotekAvFeeds.KategoriLista[podcastIndex]; if (intervall.SelectedIndex == 0) { intervalTime = 5400000; } if (intervall.SelectedIndex == 1) { intervalTime = 10800000; } if (intervall.SelectedIndex == 2) { intervalTime = 21600000; } feedBibliotek.UppdateringsIntervall = intervalTime; for (int i = 0; i < TimerBibliotek.Antal; i++) { if (TimerBibliotek.Timer[i].TimerID == feedBibliotek.FeedBibliotekTitel) { TimerBibliotek.Timer[i].ChangeIntervalTime(intervalTime); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public TimerInitializer(FeedReader inReader, string inUrl, SamlingsBibliotek inSamlingsBibliotek) { reader = inReader; samlingsBibliotek = inSamlingsBibliotek; url = inUrl; }
/// <summary> /// Kollar vilken kategori, podcast och avsnitt man valt och startar en MessageBox med innehållet från egenskapen "Description" i feedbiblioteket. /// </summary> /// <param name="kategori"></param> /// <param name="podcast"></param> /// <param name="avsnitt"></param> /// <param name="samlingsBibliotek"></param> public void VisaBeskrivning(ComboBox kategori, ComboBox podcast, ListBox avsnitt, SamlingsBibliotek samlingsBibliotek) { try { int kategoriIndex = kategori.SelectedIndex; int podcastIndex = podcast.SelectedIndex; int avsnittsIndex = avsnitt.SelectedIndex; KategoriBibliotek kBibliotek = samlingsBibliotek.SamlingsLista[kategoriIndex]; FeedBibliotek fBibliotek = kBibliotek.KategoriLista[podcastIndex]; MessageBox.Show(fBibliotek.Feed[avsnittsIndex].Description, "Beskrivning"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }