private void removeMenuItem_Click(object sender, RoutedEventArgs e)
        {
            YoutubeChannelNode selectedNode = treeView.SelectedItem as YoutubeChannelNode;

            if (selectedNode == null)
            {
                return;
            }

            (treeView.Root as YoutubeChannelRootNode).removeChannel(selectedNode);
        }
Example #2
0
        protected override void LoadChildren()
        {
            foreach (YoutubeChannelNodeState state in Properties.Settings.Default.YoutubeChannels)
            {
                YoutubeChannelNode node = new YoutubeChannelNode(state);

                Children.Add(node);
            }

            Task task = loadChannelStatistics();
        }
Example #3
0
        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();
          
        }
        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);
            }  
           
        }
Example #6
0
        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;
                    }
                }
            } 
           
        }
Example #8
0
        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);
                    }
                }
            }
        }