Пример #1
0
        private void SearchButton_Click(object sender, EventArgs e)
        {
            DisableControls("Searching...", true);

            YouTube.Channel channelSearch = new YouTube.Channel();
            foreach (Database.Types.Channel channel in channelSearch.Search(SearchTextBox.Text))
            {
                AddChannelToListView(channel);
            }

            EnableControls();
        }
Пример #2
0
        private void ChannelsListView_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            ListViewItem clickedItem = ChannelsListView.GetItemAt(e.X, e.Y);

            if (clickedItem != null)
            {
                Database.Types.Channel clickedChannel = (Database.Types.Channel)clickedItem.Tag;
                if (Database.Channels.Exists(clickedChannel.ID))
                {
                    MessageBox.Show($"{clickedChannel.Title} ({clickedChannel.ID}) already exists.", "Channel Exists", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return;
                }

                if (MessageBox.Show($"Add {clickedChannel.Title}?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    try {
                        DisableControls("Processing...", false);

                        Database.Types.Channel channel = new YouTube.Channel().Info(clickedChannel.ID);
                        Database.Channels.Upsert(channel);

                        Database.ImageFile.Insert(channel.ThumbnailURL, channel.ID, ImageType.ChannelIcon);

                        List <Database.Types.Video> videos = new YouTube.Channel().RecentVideos(channel.ID);
                        foreach (Database.Types.Video video in videos)
                        {
                            video.WatchStatus = SettingsManager.Configuration.NewChannelDefaultVideoStatus;
                            Database.Videos.Insert(video);
                            Database.ImageFile.Insert(video.ThumbnailURL, video.ID, ImageType.VideoThumbnail);
                        }

                        FormsManager.StaticMainForm.AddAllChannels();
                        LoggingManager.Log.Info($"Added channel '{channel.ID}'.");
                        EnableControls();
                        MessageBox.Show($"'{channel.Title}' was added along with {videos.Count} new videos.", "Channel Added", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    } catch (Exception ex) {
                        LoggingManager.Log.Error(ex, $"Failed to add channel '{clickedChannel.ID}'.");
                        EnableControls();
                    }
                }
            }
        }