示例#1
0
        // Updates the data of a specific podcast
        private void btnUpdatePod_Click(object sender, EventArgs e)
        {
            try
            {
                string title = lvPods.SelectedItems[0].SubItems[1].Text;

                string url             = tbUrl.Text;
                string category        = cbCategory.Text;
                var    stringFrequency = cbFrequency.SelectedItem;

                if (Validator.StringNotEmpty(title) &&
                    Validator.StringNotEmpty(category) &&
                    Validator.ParseFrequency(stringFrequency))
                {
                    int frequency = Int32.Parse(stringFrequency.ToString());

                    PodcastList.DeletePod(title);
                    EpisodeList.DeleteEpisodes(title);

                    DataLayerAccessor.AddPodcast(url, category, frequency);
                    DataLayerAccessor.CreateFiles();

                    UpdatePodListView();
                    lvEpisodes.Items.Clear();
                    tbEpDescription.Clear();
                    MessageBox.Show("Podcasten uppdaterades!", "Wohoo!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch
            {
                MessageBox.Show("Ingen podcast är vald.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#2
0
        // Runs when the form is first loading
        private void Form1_Load(object sender, EventArgs e)
        {
            new PodcastList();
            new EpisodeList();
            new CategoryList();

            DataLayerAccessor.LoadFileData();

            UpdatePodListView();
            UpdateCategoryListView();
        }
示例#3
0
        // Button to add a new Podcast
        private void btnAdd_Click(object sender, EventArgs e)
        {
            string url             = tbUrl.Text;
            string category        = cbCategory.Text;
            var    stringFrequency = cbFrequency.SelectedItem;

            if (Validator.StringNotEmpty(category) &&
                Validator.ParseFrequency(stringFrequency) &&
                Validator.PodcastAlreadyExist(url))
            {
                int frequency = Int32.Parse(stringFrequency.ToString());

                DataLayerAccessor.AddPodcast(url, category, frequency);
                DataLayerAccessor.CreateFiles();

                UpdatePodListView();
            }
        }
示例#4
0
        // The timer, NOT DONE!!!
        private static async void TimerElapsed(object sender, System.Timers.ElapsedEventArgs e, string url, string title, string category, int frequency)
        {
            List <Podcast> list                = PodcastList.GetPodList();
            bool           PodExists           = false;
            int            NumberOfEpisodes    = 0;
            int            OldNumberOfEpisodes = await RssReader.GetNumberOfEpisodes(url);

            foreach (Podcast pod in list)
            {
                if (pod.Title == title)
                {
                    NumberOfEpisodes = pod.Episodes;
                    PodExists        = true;
                }
            }

            if (!PodExists)
            {
                timer.Enabled = false;
            }

            if (NumberOfEpisodes > OldNumberOfEpisodes)
            {
                PodcastList.DeletePod(title);
                EpisodeList.DeleteEpisodes(title);
                DataLayerAccessor.AddPodcast(url, category, frequency);
                CreateFile.CreatePodcastFile();
                CreateFile.CreateEpisodeFile();

                timer.Enabled = false;

                MessageBox.Show("Nytt avsnitt har hittats!", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("Inga nya avsnitt hittades!", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            PodExists = false;
        }
示例#5
0
        // Button to delete a podcast
        private void btnDeletePod_Click(object sender, EventArgs e)
        {
            try
            {
                string title = lvPods.SelectedItems[0].SubItems[1].Text;

                if (Validator.StringNotEmpty(title))
                {
                    PodcastList.DeletePod(title);
                    EpisodeList.DeleteEpisodes(title);
                    DataLayerAccessor.CreateFiles();

                    UpdatePodListView();
                    lvEpisodes.Items.Clear();
                    tbEpDescription.Clear();
                }
            }
            catch
            {
                MessageBox.Show("Ingen podcast är vald.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }