private void removeMenuItem_Click(object sender, RoutedEventArgs e) { YoutubeChannelNode selectedNode = treeView.SelectedItem as YoutubeChannelNode; if (selectedNode == null) { return; } (treeView.Root as YoutubeChannelRootNode).removeChannel(selectedNode); }
protected override void LoadChildren() { foreach (YoutubeChannelNodeState state in Properties.Settings.Default.YoutubeChannels) { YoutubeChannelNode node = new YoutubeChannelNode(state); Children.Add(node); } Task task = loadChannelStatistics(); }
private void addChannel(YoutubeChannelItem channelItem) { YoutubeChannelNodeState state = new YoutubeChannelNodeState(channelItem); YoutubeChannelNode node = new YoutubeChannelNode(state); lock (channelLock) { Children.Add(node); Properties.Settings.Default.YoutubeChannels.Add(state); } }
protected override void LoadChildren() { foreach(YoutubeChannelNodeState state in Properties.Settings.Default.YoutubeChannels) { YoutubeChannelNode node = new YoutubeChannelNode(state); Children.Add(node); } Task task = loadChannelStatistics(); }
public void removeChannel(YoutubeChannelNode node) { lock (channelLock) { for (int i = 0; i < Children.Count; i++) { YoutubeChannelNode child = Children[i] as YoutubeChannelNode; if (child.ChannelId.Equals(node.ChannelId)) { Children.RemoveAt(i); Properties.Settings.Default.YoutubeChannels.RemoveAt(i); return; } } } }
public void removeChannel(YoutubeChannelNode node) { lock (channelLock) { for (int i = 0; i < Children.Count; i++) { YoutubeChannelNode child = Children[i] as YoutubeChannelNode; if(child.ChannelId.Equals(node.ChannelId)) { Children.RemoveAt(i); Properties.Settings.Default.YoutubeChannels.RemoveAt(i); return; } } } }
public async Task loadChannelStatistics() { String channelIds = ""; lock (channelLock) { if (Children.Count == 0) { return; } channelIds = (Children[0] as YoutubeChannelNode).ChannelId; for (int i = 1; i < Children.Count; i++) { channelIds += "," + (Children[i] as YoutubeChannelNode).ChannelId; } } Google.Apis.YouTube.v3.ChannelsResource.ListRequest listRequest = new ChannelsResource.ListRequest(YoutubeViewModel.Youtube, "statistics"); listRequest.Id = channelIds; ChannelListResponse response = await listRequest.ExecuteAsync(); lock (channelLock) { foreach (Channel item in response.Items) { YoutubeChannelNode node = getChannelWithId(item.Id); if (node != null) { node.updateStatistics(item.Statistics); } } } }