/// <summary> /// Create a gallery item from a row of episode data. /// </summary> private GalleryItem CreateEpisodeGalleryItem(DataRow episodeData) { GalleryItem item = new GalleryItem(); item.Description = (string)episodeData["TV_Episode_Title"]; item.ItemId = (int)episodeData["TV_Episode_ID"]; // Show the release data of the episode in the metadata. DateTime releaseDate = (DateTime)episodeData["TV_Episode_Release_Date"]; item.Metadata = releaseDate.ToString("d"); // // Hook up an event for when the gallery item is invoked. // item.Invoked += delegate(object sender, EventArgs args) { GalleryItem galleryItem = (GalleryItem)sender; // Navigate to a details page for this episode. DetailsPage page = CreateEpisodeDetailsPage(galleryItem.ItemId); Application.Current.GoToDetails(page); }; return(item); }
/// <summary> /// Finishes any slow data for an episode gallery item. /// </summary> private void CompleteEpisodeGalleryItem(VirtualList list, int index) { GalleryItem item = (GalleryItem)list[index]; DataRow episodeData = GetEpisodeData(item.ItemId); CompleteEpisodeGalleryItem(item, episodeData); }
/// <summary> /// Finishes any slow data for a gallery item. /// </summary> private void CompleteShowGalleryItem(VirtualList list, int index) { GalleryItem item = (GalleryItem)list[index]; DataRow showData = GetShowData(item.ItemId); CompleteShowGalleryItem(item, showData); }
/// <summary> /// Create a gallery item from a row in the table. /// </summary> private GalleryItem CreateShowGalleryItem(DataRow showData) { GalleryItem item = new GalleryItem(); item.Description = (string)showData["TV_Show_Title"]; item.ItemId = (int)showData["TV_Show_ID"]; // Display the show provider in the metadata DataRow providerData = Z.DataSetHelpers.GetIDMappedDataRow(showData, "TV_Provider_ID", dataSet.Tables["tbl_TV_Provider"], "TV_Provider_ID"); item.Metadata = (string)providerData["TV_Provider"]; // // Hook up an event for when the gallery item is invoked. // item.Invoked += delegate(object sender, EventArgs args) { GalleryItem galleryItem = (GalleryItem)sender; // Navigate to a gallery page for this show. GalleryPage page = CreateEpisodeGalleryPage(galleryItem.ItemId); Application.Current.GoToGallery(page); }; return(item); }
/// <summary> /// Finishes any slow data for a gallery item. /// </summary> private void CompleteGalleryItem(VirtualList list, int index) { GalleryItem item = (GalleryItem)list[index]; DataRow movieData = GetMovieData(item.ItemId); CompleteGalleryItem(item, movieData); }
/// <summary> /// Construct a gallery item for a row of data. /// </summary> private GalleryItem CreateGalleryItem(DataRow movieData) { GalleryItem item = new GalleryItem(); item.Description = (string)movieData["Movie_Title"]; item.ItemId = (int)movieData["Movie_ID"]; // Display the release year as this item's metadata. DateTime releaseDate = (DateTime)movieData["Movie_Release_Date"]; item.Metadata = releaseDate.Year.ToString(); // // Hook up an event for when the gallery item is invoked. // item.Invoked += delegate(object sender, EventArgs args) { GalleryItem galleryItem = (GalleryItem)sender; // Navigate to a details page for this item. DetailsPage page = CreateDetailsPage(galleryItem.ItemId); Application.Current.GoToDetails(page); }; return(item); }
/// <summary> /// Create the main menu category entry for this experience. /// </summary> public override MenuCategory CreateMenuCategory() { MenuCategory category = new MenuCategory(); // Title category.Title = Description; // Subtitle (extracted from the total episode count) DataTable tbl_TV_Show = dataSet.Tables["tbl_TV_Show"]; string subTitle = String.Format(Z.Resources.TV_Category_SubTitle, tbl_TV_Show.Rows.Count); category.SubTitle = subTitle; // // Featured items // VirtualList items = new VirtualList(category, null); items.EnableSlowDataRequests = true; items.RequestSlowDataHandler = new RequestSlowDataHandler(CompleteEpisodeGalleryItem); category.Items = items; DataTable tbl_TV_Episode_And_Highlight = dataSet.Tables["tbl_TV_Episode_And_Highlight"]; DataTable tbl_TV_Episode = dataSet.Tables["tbl_TV_Episode"]; foreach (DataRow highlightData in tbl_TV_Episode_And_Highlight.Rows) { int episodeId = (int)highlightData["TV_Episode_ID"]; DataRow episodeData = GetEpisodeData(episodeId); GalleryItem item = CreateEpisodeGalleryItem(episodeData); items.Add(item); // Stop once we've found 3 items. if (category.Items.Count >= 3) { break; } } // // Set up a handler for when this category is clicked. // category.Invoked += delegate(object sender, EventArgs args) { // Go to our show gallery page. GalleryPage page = CreateShowGalleryPage(); Application.Current.GoToGallery(page); }; return(category); }
/// <summary> /// Finishes any slow data for a menu item. /// </summary> private void CompleteMenuItem(VirtualList list, int index) { GalleryItem item = (GalleryItem)list[index]; DataRow movieData = GetMovieData(item.ItemId); // Load the Small image (note that we need to load a different image, // than CompleteGalleryItem, which is why the menu uses a different // handler). string imageName = (string)movieData["Movie_Image_Gallery_Small"]; item.Image = LoadImage(imageName); }
/// <summary> /// Fill in any slow data for an episode gallery item. /// </summary> private void CompleteEpisodeGalleryItem(GalleryItem item, DataRow episodeData) { string imageName = (string)episodeData["TV_Episode_Gallery_Image"]; item.Image = LoadImage(imageName); }
/// <summary> /// Fill in any slow data for a gallery item. /// </summary> private void CompleteShowGalleryItem(GalleryItem item, DataRow showData) { string imageName = (string)showData["TV_Show_Image"]; item.Image = LoadImage(imageName); }
/// <summary> /// Finishes any slow data for a gallery item. /// </summary> private void CompleteGalleryItem(GalleryItem item, DataRow movieData) { string imageName = (string)movieData["Movie_Image_Gallery_Large"]; item.Image = LoadImage(imageName); }