コード例 #1
0
        private async void btnSpara_Click(object sender, EventArgs e)
        {
            try
            {
                urlValiderare.ValideraInput(txtURL.Text);
                comboboxValiderare.ValideraInput((string)cbFrekvens.SelectedItem);
                comboboxValiderare.ValideraInput((string)cbKategori.SelectedItem);

                var document = await PodcastFetcher.FetchPodcastAsync(txtURL.Text);

                var title        = document.SelectSingleNode("rss/channel/title");
                var avsnittLista = document.SelectNodes("rss/channel/item");

                SetPodcastValues(valdPodcast, title.InnerText, avsnittLista.Count);
                PodcastHelper.SetAvsnitt(valdPodcast, avsnittLista);

                UpdatePodcastListan();
                PodcastStorage.SavePodcasts(PodcastLista);

                valdPodcast.uppdateringsTimer.Stop();
                StartaTimer(valdPodcast);

                ClearPodcastInputs();
            }
            catch (Exception ex)
            {
                ErrorHandler.HanteraFel(ex);
            }
        }
コード例 #2
0
        public void SetNyKategoriPodcast(string newValue, string oldValue)
        {
            var podcastsMedKategori = PodcastLista.Where(x => x.Kategori == oldValue).ToList();

            foreach (var p in podcastsMedKategori)
            {
                p.Kategori = newValue;
            }
            UpdatePodcastListan();
            PodcastStorage.SavePodcasts(PodcastLista);
        }
コード例 #3
0
        public Podcasts()
        {
            InitializeComponent();
            cbFrekvens.Items.Add("Var 10:e minut");
            cbFrekvens.Items.Add("Var 20:e minut");
            cbFrekvens.Items.Add("Var 30:e minut");

            PodcastLista  = PodcastStorage.GetPodcasts();
            KategoriLista = KategoriStorage.GetKategorier();
            UpdatePodcastListan();
            UpdateKategoriListan();
            StartaUppdateringTimers();
        }
コード例 #4
0
        private void TaBortPodcastMedKategori(string valdKategori)
        {
            var podCastsAttTaBort = PodcastLista.Where(x => x.Kategori == valdKategori).ToList();

            foreach (var p in podCastsAttTaBort)
            {
                p.uppdateringsTimer.Stop();
            }

            valdPodcast = null;

            PodcastLista = PodcastLista.Where(x => x.Kategori != valdKategori).ToList();
            UpdatePodcastListan();
            PodcastStorage.SavePodcasts(PodcastLista);
            UpdateAvsnittsListan();
            txtBeskrivning.Clear();
            ClearPodcastInputs();
        }
コード例 #5
0
        private void StartaTimer(Podcast p)
        {
            p.uppdateringsTimer.Interval = PodcastHelper.GetUppdateringsfrekvensMilliseconds(p.Uppdateringsfrekvens);
            p.uppdateringsTimer.Tick    += async delegate
            {
                var document = await PodcastFetcher.FetchPodcastAsync(p.Url);

                var title        = document.SelectSingleNode("rss/channel/title");
                var avsnittLista = document.SelectNodes("rss/channel/item");

                p.Titel        = title.InnerText;
                p.AntalAvsnitt = avsnittLista.Count.ToString();
                PodcastHelper.SetAvsnitt(p, avsnittLista);

                UpdatePodcastListan();
                PodcastStorage.SavePodcasts(PodcastLista);
            };
            p.uppdateringsTimer.Start();
        }
コード例 #6
0
        private void btnTabort_Click(object sender, EventArgs e)
        {
            try
            {
                valdPodcast.uppdateringsTimer.Stop();
                PodcastLista.Remove(valdPodcast);

                UpdatePodcastListan();
                PodcastStorage.SavePodcasts(PodcastLista);

                ClearPodcastInputs();
                UpdateAvsnittsListan();
                txtBeskrivning.Clear();
            }

            catch (Exception ex)
            {
                ErrorHandler.HanteraFel(ex);
            }
        }