public void Parse(Feed<Video> videoFeed, VideoList videoList)
        {
            foreach (Video video in videoFeed.Entries)
            {
                string id = video.VideoId;
                string title = video.Title;

                if (video.Thumbnails != null && video.Thumbnails.Count > 0)
                {
                    foreach (MediaContent mediaContent in video.Contents)
                    {
                        if ("5".Equals(mediaContent.Format))
                        {
                            if ("120".Equals(video.Thumbnails[0].Width) && "90".Equals(video.Thumbnails[0].Height))
                            {
                                VideoItem videoItem = new VideoItem(id, title, ProviderEnum.YouTube);
                                videoItem.ThumbnailImageURL = video.Thumbnails[0].Url;
                                videoItem.ThumbnailImageWidth = video.Thumbnails[0].Width;
                                videoItem.ThumbnailImageHeight = video.Thumbnails[0].Height;

                                videoList.AddVideo(videoItem);
                            }
                        }
                    }
                }
            }
        }
 protected override void LoadData()
 {
     Trace.Write("VideoTrendsControl LoadData() - Start Calling Video Command");
     if (VideoCommand != null)
     {
         VideoList = VideoCommand.GetVideo();
     }
     Trace.Write("VideoTrendsControl LoadData() - End Calling Video Command");
 }
        static public void Serialize(VideoList videoList)
        {
            string filepath = System.Web.Hosting.HostingEnvironment.MapPath("~/data/VideoTrends.xml");

            Type type = typeof(VideoList);
            Type[] extraTypes = new Type[] { typeof(VideoItem) };

            lock (guard)
            {
                XMLSerializer.Serialize(videoList, type, extraTypes, filepath);
            }
        }
        private void AddVideo(YouTubeRequest request, string urlTemplate, string maxResultsKey, VideoList videoList)
        {
            int maxResults = ConfigService.GetConfig(maxResultsKey, 0);
            if (maxResults > 0)
            {
                string url = string.Format(urlTemplate, maxResults);
                Feed<Video> videos = request.Get<Video>(new Uri(url));

                YouTubeVideoParser parser = new YouTubeVideoParser();
                parser.Parse(videos, videoList);
            }
        }
        private void AddVideo(YouTubeRequest request, string maxResultsKey, string query, VideoList videoList)
        {
            int maxResults = ConfigService.GetConfig(maxResultsKey, 0);
            if (maxResults > 0)
            {
                YouTubeQuery youtubeQuery = new YouTubeQuery(YouTubeQuery.DefaultVideoUri);
                youtubeQuery.Query = "%22" + query +  "%22";
                youtubeQuery.SafeSearch = YouTubeQuery.SafeSearchValues.Strict;
                youtubeQuery.NumberToRetrieve = maxResults;
                Feed<Video> videos = request.Get<Video>(youtubeQuery);

                YouTubeVideoParser parser = new YouTubeVideoParser();
                parser.Parse(videos, videoList);
            }
        }
        public VideoList Search(string query)
        {
            VideoList videoList = new VideoList();
            try
            {
                string api = ConfigService.GetConfig(ConfigKeys.YOUTUBE_API_KEY, "");
                YouTubeRequestSettings settings = new YouTubeRequestSettings("TheInternetBuzz.org", "TheInternetBuzz.org", api);
                YouTubeRequest request = new YouTubeRequest(settings);

                AddVideo(request, ConfigKeys.YOUTUBE_SEARCH_MAXRESULTS, query, videoList);
            }
            catch (Exception exception)
            {
                ErrorService.Log("YouTubeSearchService", "Search", query, exception);
            }

            return videoList;
        }
        public VideoList GetVideo()
        {
            VideoList videoList = new VideoList();
            try
            {
                string api = ConfigService.GetConfig(ConfigKeys.YOUTUBE_API_KEY, "");
                YouTubeRequestSettings settings = new YouTubeRequestSettings("TheInternetBuzz.com", "TheInternetBuzz.com", api);
                YouTubeRequest request = new YouTubeRequest(settings);

                AddVideo(request, RecentlyFeaturedUrlTemplate, ConfigKeys.YOUTUBE_FEEDS_RECENTLYFEATURED_MAXRESULTS, videoList);
                AddVideo(request, TopRatedFeedUrlTemplate, ConfigKeys.YOUTUBE_FEEDS_TOPRATED_MAXRESULTS, videoList);
                AddVideo(request, TopFavouritesFeedUrlTemplate, ConfigKeys.YOUTUBE_FEEDS_TOPFAVOURITES_MAXRESULTS, videoList);
                AddVideo(request, MostViewedFeedUrlTemplate, ConfigKeys.YOUTUBE_FEEDS_MOSTVIEWED_MAXRESULTS, videoList);
                AddVideo(request, MostPopularFeedUrlTemplate, ConfigKeys.YOUTUBE_FEEDS_MOSTPOPULAR_MAXRESULTS, videoList);
                AddVideo(request, MostDiscussedFeedUrlTemplate, ConfigKeys.YOUTUBE_FEEDS_MOSTDISCUSSED_MAXRESULTS, videoList);
                AddVideo(request, MostRespondedFeedUrlTemplate, ConfigKeys.YOUTUBE_FEEDS_MOSTRESPONDED_MAXRESULTS, videoList);
            }
            catch (Exception exception)
            {
                ErrorService.Log("YouTubeTrendsService", "GetVideo", null, exception);
            }

            return videoList;
        }
 public static void CacheSearchResultList(string query, VideoList videoList)
 {
     string cacheName = "video-" + query;
     int cacheExpiration = ConfigService.GetConfig(ConfigKeys.THEINTERNETBUZZ_VIDEO_SEARCH_EXPIRATION, 60);
     CacheService.Put(cacheName, cacheExpiration, videoList);
 }
 public static void CacheVideoTrends(VideoList videoList)
 {
     int cacheExpiration = int.MaxValue;
     CacheService.Put("video-trends", cacheExpiration, videoList);
 }